Bucle sobre archivos en el directorio en Bash
- Bucle a través de archivos
- Bucle sobre el directorio
- Escribir todos los archivos dentro del directorio usando bucle
- Haga copias de seguridad de todos los archivos dentro del directorio
 
Los bucles en Bash han hecho factible realizar operaciones en muchos archivos. Debe tener algunos privilegios para trabajar con archivos y carpetas.
El método más eficaz es el bucle, que permite al usuario volver a aplicar la misma lógica al objeto utilizando una simple línea de código.
Bucle a través de archivos
Primero, crearemos un directorio de test y crearemos múltiples archivos dentro del directorio. Vamos a crear cinco archivos en el directorio test como file1.txt, file2.txt, file3.txt, file4.txt y file5.txt.

Creamos una carpeta test usando mkdir y creamos cinco archivos dentro de ella usando el comando touch.

Bucle sobre el directorio
Recorramos el directorio test recién creado y mostremos los nombres de los archivos dentro del directorio. Usaremos el bucle for para hacer esto.
~/test$ for file in *; do echo $file; done
Navegue hasta el directorio test e ingrese el comando anterior después de $. * denota todos los archivos dentro del directorio.
Producción :
file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
Escribir todos los archivos dentro del directorio usando bucle
Escribir ¡Hola Mundo! en cada archivo, usaremos el bucle for para iterar sobre los archivos y el indicador -e en echo para conservar las líneas nuevas.
~/test$ for file in *; do echo -e "$file\nHello World!"> $file ; done
$file mostrará el nombre del archivo al principio del archivo, y \n romperá la línea, y Hello World! aparecerá en la segunda línea. Para verificar los datos que agregamos al archivo, debemos mostrarlos usando cat con un bucle for.
~/test$ for file in *; do cat $file ; done
Producción :
file1.txt
Hello World!
file2.txt
Hello World!
file3.txt
Hello World!
file4.txt
Hello World!
file5.txt
Hello World!
Haga copias de seguridad de todos los archivos dentro del directorio
La extensión .bak denota los archivos de copia de seguridad. Usaremos cp con el bucle for para crear copias de seguridad.
~/test$ for file in *; do cp $file "$file.bak" ; done
Puede usar ls -l para listar todos los archivos dentro del directorio test.
~/test$ ls -l
Echemos un vistazo al directorio test.

Puede ver que los archivos de copia de seguridad se crearon con la extensión .bak con el sufijo dentro de la carpeta.