Laço de Repetição - com while e for
Laço de Repetição, quando são utilizados e para que servem?
Existem tarefas que são cansativas de serem realizadas por procedimentos manuais.
Se você quer um exemplo, aqui vai, renomear 2 mil arquivos em ordem numérica (1, 2, 3...). Se eu tivesse que renomear manualmente estes 2 mil arquivos, passaria o dia todo fazendo isso.
Mas, se eu automatizar este processo criando um laço de repetição, deixo o computador trabalhar por mim.
- Criando o laço de repetição com 'for'
O comando para criar este laço é:
x=1; for i in *; do mv $i $x; x=$((x+1)); echo $x ; done
Interpretando:
No primeiro momento, 'x=1', estou definindo que a variável 'x' será igual à 1 e que ';', está separando as instruções.
'for i in *' é nosso laço propriamente dito, onde 'i' armazena o nome dos arquivos e '*', considera todos os arquivos do diretório. 'mv $i $x' renomeia os arquivos do nome atual '$i' para o valor armazenado em '$x' que inicialmente é 1. 'x=$((x+1))', aqui
somo mais 1 ao valor atual de '$x'. 'echo $x' imprimo os valores de '$x'.
Se você estiver renomeando arquivos “.jpg”, será importante manter a extensão após o processo de mudança de
nome. Então basta fazer isso:
x=1; for i in *; do mv $i $x.jpg; x=$((x+1)); echo $x ; done
Você pode ainda mudar o primeiro valor de 'x=1', caso queira renomear contando de um determinado valor, como
por exemplo: x=100.
- Laço de repetição com 'while'
Mostrarei a seguir, um outro procedimento de Loop simples.
x=0; while true; do clear; echo Total de listagens $x; x=$((x+1)); ls -l; sleep 3; clear; done
Aqui tenho um processo de Loop infinito, que tem como objetivo, imprimir o valor de 'x$', que inicialmente é zero.
Depois somar 1 ao valor atual de '$x', fazer uma listagem 'ls -l', aguardar 3 segundos 'sleep 3' e limpar a tela 'clear',
na sequência o comando é repetido.
Vamos à outra variação do 'while':
x=0; while [ $x -lt 3 ]; do clear; echo Total de listagens $x; x=$((x+1)); ls -l; sleep 3; clear;
done
Aqui temos o seguinte: '[ $x -lt 3 ]', ou seja, execute este laço enquanto '$x' for menor que '3'.
Espero que gostem desta pequena publicação.
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada
Reset de senha do root no CentOS 7
Como fazer um alias para uma placa de rede
Análise de trafégo em modo texto com Trafshow
Endian no VirtualBox - Configurações de redes
Envio de mensagens para celulares usando NowSMS
Comentários
Nenhum comentário foi encontrado.