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.
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.
Comentários