« Não se limite ao que foi dito sobre o problema, procure uma melhor solução! | Home | As leis da simplicidade »
Manipule arquivos textos com AWK
de Valter Lobo | Sábado, 22 de Março de 2008
De vez em quando precisamos trabalhar com a manipulação de textos é programar com uma linguagem que não tem muitos recursos para manipular textos é muito trabalhoso. O AWK resolve muita coisa sem ter que programar muito, veja alguns exemplos de tarefas que podemos resolver fácil com AWK:
Arquivo exemplo :
123,Jose Antonio, xpto@mail.com,RJ
555,Maria e Joao,NNNN@mail.com,SP
545,Manoel Perreira,maneper@meuemail.com,BA
543,Manoel Santos,manesantos@meuemail.com,RJ
1) Separar os registros dos funcionários em arquivos com a sigla dos estados(RJ,SP,BA) que eles pertencem:
awk -F, "{file=$4".txt" ; print $0 >> file}" teste.txt
2)Gerar um arquivo somente com o e-mail:
awk -F, -v email=email.txt "{print $3 >> email}" teste.txt
3) Relatório das linhas que ocorreu um determinado padrão:
awk -v rel=relatorio.txt "$0 ~ /Manoel/ { total++; print NR >>rel} END { print "Total" total >> rel;}" teste.txt
O AWK é comum nas distribuições Linux, mas tem uma versão gnu para Windows, que possui um bom manual.
Onde obter : http://gnuwin32.sourceforge.net/packages/gawk.htm
Guarde na sua caixa de ferramentas para quando precisar!
Categorias: programação | | Enviar por e-mail | Hits para esta publicação: 108