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
Instalando um servidor de domínio Samba
Explorando seu hardware III
Servidor DHCP no Fedora
Características gerais do Zenwalk
Configurando o Recoll
Comentários
Nenhum comentário foi encontrado.