Total de visualizações de página

Pesquisar este blog

segunda-feira, 8 de fevereiro de 2010

O bom e velho laço for

Muitas vezes necessito criar, copiar ou remover vários arquivos de uma só vez. Para isso conto com um comando do Linux que acho muito importante no Linux, o laço for.

Para ficar mais prático, vou dizer o que acontece comigo todos os dias.

Tenho um servidor de automação comercial e todo inicio do mês preciso apagar os arquivos temporários e cria-los novamente. Então imagina se eu tivesse que criar todos eles novamente manualmente.

Estrutura do diretorio (servidor que eu admimistro): /servidor/afv/
dentro dele tenho vários vendedores, ou seja, 001, 002, 003 e assim por diante até o numero 100.

Se fosse de forma manual seria:
removendo os diretórios = rm -rf 001 | rm -rf 002 até rm -rf 100

Após remover os mesmos, devo criar novamente:
criando diretorios = mkdir 001 | mkdir 002 até mkdir 100

Mas como existe o laço for otimizo isso para uma linha de shell sendo:
for i in `seq -w 1 100`;do mkdir $i;done

Com isso crio 100 diretórios em menos de 1seg.

E assim vai abaixo mais alguns exemplos, lembrando que não tenho como colocar tudo que faço como for, mas tenha certeza que ele é extremamente utilizado no meio corporativo para otimizar tarefas repetitivas.

for i in `seq -w 1 100`;do rm -rf $i;done

for i in `cat /tmp/arquivos.txt`;do grep -i encontrei $i;done
PS: lembrando que este arquivos.txt é a lista de arquivos que tenho dentro de um diretório gigante, ou seja, se eu fizesse grep -i neste diretório e SO me mostra: "Lista de argumentos muito longa".

Acredito que com essa dica vamos otimizar e muito os trabalhos.

Dúvidas estou a disposição.

Att Junior.
Postar um comentário