Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Cómo crear un script para eliminar ficheros vacíos

Alex Vericat
  • Escrito por Alex Vericat el 14 de Junio de 2019
  • 1 min de lectura | Redes y Sistemas
Cómo crear un script para eliminar ficheros vacíos
El reproductor de video será cargado en breves instantes.

Aprende a utilizar la terminal para crear un script que te permitirá eliminar ficheros que están vacíos.

Cómo hacer un eliminador de ficheros con bash scripting

Para crear este script lo primero que haremos será el fichero de bash, al que llamaremos eliminador.sh, y lo hacemos desde la consola:

vi eliminador.sh

A continuación, una vez creado, comenzamos a programarlo, y el código nos quedará así:

#!/bin/bash

	ficheros=$(ls)

	for fichero in ${ficheros[@]}
	do
	  if [ -d $fichero ] || [ -s $fichero ]
	  then
	     echo “No tengo nada que hacer con $fichero”
	  else
	    echo “Eliminando el fichero $fichero”
	   rm -f $fichero
	  fi
	done

En la primera línea del código llamamos al intérprete de bash, y a partir de ahí seguiremos con la programación de nuestro eliminador.

Para continuar creamos la variable ficheros, que será un contenedor de una lista de todos los ficheros y directorios que se encuentren en la carpeta, lo que se obtiene gracias al comando del sistema ls.

Una vez tenemos la lista de directorios y ficheros, vamos a creamos un bucle que va a recorrer estos datos y va a poder los tratar. Declaramos que queremos recorrer la lista llamada ficheros que acabamos de crear, indicando que se trata de una lista.

Después creamos un condicional que nos va a evaluar si ese fichero es un directorio o es un fichero, y en caso de ser un fichero si está o no vacío.

En este momento, si el fichero es un directorio y además tiene contenido, no lo vamos a eliminar, porque tiene datos y no nos interesa eliminarlo, y nos mostrará en pantalla el mensaje “No tengo nada que hacer con nombre de fichero”.

Y si el fichero está vacío, nos mostrará en pantalla el mensaje “Eliminando el fichero nombre de fichero”, y lo eliminará.

Una vez finalizado nuestro código, lo grabamos con el comando:

:wq

Para continuar vamos a realizar una prueba, que consistirá en crear un fichero totalmente vacío, que se llamará gggg.txt:

touch gggg.txt

Tras crearlo vamos a lanzar el eliminador:

bash eliminador.sh

Una vez ejecutado nos mostrará la lista de todos los ficheros y directorios que se encuentran en esta carpeta, y nos indicará cuáles no va a eliminar porque tienen contenido, y en el caso de fichero gggg.txt, al no tener contenido, lo eliminará.

Aprende los conceptos más importante sobre bash para crear scripts que te ayuden en la automatización de tareas y procesos.

curso-bash-scripting

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Certificación LPIC-1: Examen 101 y 102

Certificación LPIC-1: Examen 101 y 102

carrera

Incluye 5 cursos:

  • Curso para Aprender Linux desde Cero
  • Curso de Linux examen 101 de LPIC-1
  • Curso de LPIC 1 Examen 102 - Temas 105 y 106: Shell Scripting, interfaces y entornos

y 2 cursos más!

Duración: 32 horas y 2 minutos

Qué es un fichero de Bash

Qué es un fichero de Bash

Redes y Sistemas

13 de Junio de 2019

Te contamos qué es un fichero bash y te mostramos cómo tratarlo con comandos básicos de forma práctica.

 

Curso de bash scripting y automatización de procesos

Curso de bash scripting y automatización de procesos

curso

Con este curso aprenderás:

  • Aprenderás como crear tu propio script en bash y como ejecutarlo.
  • Aprenderás a tratar con variables y constantes.
  • Aprenderás a integrar comandos del sistema dentro del script.

Duración: 2 horas y 49 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars