Hay muchos archivos en nuestro sistema que no nos sirven como archivos temporales. Entonces, necesitamos borrar todos esos archivos, pero es muy ajetreado encontrar cada archivo y eliminarlos. Aquí crearemos un script que buscará automáticamente el archivo de tamaño cero y los eliminará a todos.
Antes de empezar, veremos cómo buscar directorios.
Buscando en el directorio actual para listar los directorios cuyo nombre comienza con mayúsculas.
# find . -type d -name "[A-Z]*" -ls
El enfoque del código:
- Cree una interfaz de usuario de terminal que le pedirá el nombre del directorio en el que se eliminarán los archivos vacíos.
- Luego verifique si el directorio de entrada existe o no usando operadores de archivos como «-d» explicado en el código.
- Luego use un método para buscar en el directorio dado el archivo de tamaño cero. Aquí usaremos el comando «buscar» explicado anteriormente para hacer lo mismo.
- Como ahora tenemos la lista de todos los archivos de tamaño cero, podemos eliminarlos usando for loop. Y así hemos logrado nuestro objetivo.
A continuación se muestra la implementación:
#!/bin/bash echo "Enter the Directory for which all the zero sized files will be deleted:" # input directory name. read dirName echo "For $dirName all 0 Sized files will be deleted." # variable to store all the zero size files name. # to store command output in variable we have two syntax 1. var=$(command) 2. var='command' dire = $(find . -type f -size 0) # first check if directory exist. # -d is the file test operator which check the directory if it exits or not.Return true for existing. if [ ! -d $dirName ]; then echo "This is an invalid directory name or the Name directory does not exist." else # for loop iterate on the filenames with zero size. for fileName in $dire do # to remove a file whose name starts with "-" we use option "--". rm -- $fileName done fi
Cree algunos archivos vacíos en su directorio usando el comando táctil. El comando táctil toma un nombre de archivo como argumento.
# touch file1.txt file2.txt file3.txt
Da permiso para hacer que el script sea ejecutable.
# chmod 777 deleteFile.sh
Ejecute el script ahora y proporcione el nombre del directorio, aquí estamos usando el directorio actual (.).
# ./deleteFile.sh
Publicación traducida automáticamente
Artículo escrito por hemusharma196 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA