Redes y Sistemas

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

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

Publicado el 14 de Junio de 2019
Compartir

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 a OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.


Compartir este post

También te puede interesar...

Tecnología

Qué es un fichero de Bash

13 Junio 2019 Alex Vericat
Bash Scripting

Curso de bash scripting y automatización de procesos

2 horas y 49 minutos · Curso

Con este curso aprenderás los conceptos más importantes sobre bash y como crear scripts que nos permitan realizar tareas complejas para automatizar procesos.

  • Lenguajes de programación
Artículos
Ver todos