Bash Loop através de diretórios recursivamente

Bash Loop através de diretórios recursivamente
O Bash Shell é uma ferramenta incrível que oferece muita facilidade e funcionalidade do terminal. Este tutorial rápido deve discutir várias maneiras de percorrer os diretórios e executar certas funções recursivamente.

A festa para loop

Para alcançar um loop recursivo através de diretórios, usaremos loops de bash, especificamente, a para um loop.

O loop for um tipo comum de loop em Bash e outras linguagens de programação. Ele itera sobre uma determinada lista de itens/opções até e executa um conjunto de comandos.

A sintaxe geral para o comando for loop é:

para eu na lista
fazer
[COMANDO]
feito;

Aqui está um exemplo de um loop de bash é:

#/bin/bash
para i em 0… 10
fazer
eco '$'
feito

O loop acima imprime os valores de 0 a 10.

Entrada do usuário do Bash

Em seguida, precisamos solicitar ao usuário um diretório válido para passar. Para aceitar a entrada do usuário, usamos o comando echo em bash.

Por exemplo:

#!/BIN/BASH
eco “Entre no diretório”
Leia o dir
CD $ dir
eco “agora em /etc”

Mova os arquivos (script Bash)

Com os conceitos de loops e entrada do usuário fora do caminho, podemos montar nossa concha. A primeira operação é encontrar arquivos recursivamente com extensões específicas e movê -las.

Aqui está um script de amostra para isso:

#/bin/bash
eco “Entre no dir”
Leia o dir
eco “entre no destino”
Leia o dest
para i em $ (encontre $ dir -name '*.registro');
fazer
mv -v $ i $ destin
feito;

O script pedirá ao usuário um diretório e depois procurará uma extensão específica. Em seguida, moverá os arquivos para o destino especificado.

Deletar arquivos

O script acima também pode ser modificado para excluir arquivos em vez de movê -los. Um exemplo é tão

#/bin/bash
eco "Enter Dir"
Leia o dir
para i em $ (encontre $ dir -name '*.registro');
fazer
rm -rf $ i
feito;

Imprimir arquivos

Para imprimir os arquivos em um diretório, use o script como:

#/bin/bash
eco “Entre no dir”
Leia o dir
CD $ dir
para i em $ (encontre $ dir -type f);
fazer
eco $ i;
feito;

Conclusão

Os dados acima são scripts de exemplo que você pode usar para fazer loop e executar uma ação específica. É bom observar que existem ferramentas desenvolvidas para executar essas tarefas, mas um script é um bom caminho a percorrer se você não conseguir encontrar uma ferramenta apropriada.