Bash Loop a través de directorios recursivamente

Bash Loop a través de directorios recursivamente
Bash Shell es una herramienta increíble que ofrece mucha facilidad y funcionalidad de Terminal. Este tutorial rápido discutirá varias formas de recorrer directorios y realizar ciertas funciones recursivamente.

La fiesta para el bucle

Para lograr un bucle recursivo a través de directorios, utilizaremos bucles bash, específicamente, a para un bucle.

El bucle for es un tipo común de bucle en Bash y otros lenguajes de programación. Se itera sobre una lista dada de elementos/opciones hasta que y ejecute un conjunto de comandos.

La sintaxis general para el comando for bucle es:

para yo en la lista
hacer
[DOMINIO]
hecho;

Aquí hay un ejemplo de un bucle bash es:

#/bin/bash
para i en 0 ... 10
hacer
echo '$'
hecho

El bucle anterior imprime valores de 0 a 10.

Entrada del usuario de Bash

A continuación, debemos solicitar al usuario un directorio válido que recorriera. Para aceptar la entrada del usuario, usamos el comando echo en bash.

Por ejemplo:

#!/bin/bash
Echo "Ingrese el directorio"
Leer Dir
CD $ Dir
Echo "ahora en /etc"

Mover archivos (script bash)

Con los conceptos de bucles y la entrada del usuario del camino, podemos armar nuestra carcasa. La primera operación es encontrar archivos de manera recursiva con extensiones específicas y moverlos.

Aquí hay un script de muestra para eso:

#/bin/bash
echo "Enter Dir"
Leer Dir
echo "Entrar en el destino"
Leer Dest
para i en $ (encontrar $ dir -name '*.registro');
hacer
mv -v $ i $ dest
hecho;

El script le pedirá al usuario un directorio y luego buscará una extensión específica. Luego moverá los archivos al destino especificado.

Borrar archivos

El script anterior también se puede modificar para eliminar archivos en lugar de moverlos. Un ejemplo es como

#/bin/bash
echo "Enter Dir"
Leer Dir
para i en $ (encontrar $ dir -name '*.registro');
hacer
rm -rf $ i
hecho;

Imprimir archivos

Para imprimir los archivos en un directorio, use el script como:

#/bin/bash
echo "Enter Dir"
Leer Dir
CD $ Dir
para i en $ (encontrar $ dir -type f);
hacer
echo $ i;
hecho;

Conclusión

Los anteriores son scripts de ejemplo que puede usar en directorios de bucle y realizar una acción específica. Es bueno tener en cuenta que hay herramientas desarrolladas para realizar tales tareas, pero un script es una buena manera de hacer si no puede encontrar una herramienta apropiada.