segunda-feira, março 30, 2009

Usando o SED para tratar arquivo texto

Necessitei tratar um arquivo texto e através do SED é possível, neste caso fiz o seguinte:

Dois comando em um só com o "-e"
Substituir (na verdade excluir) tudo o que tinha #: 's/#//g'
Excluir a última linha: '$ d'
o sinal de maior depois do arquivo.txt é escrever as mudanças em um novo arquivo, permanecendo o original
# sed -e 's/#//g' -e '$ d' arquivo.txt > arquivo.destino.txt

Abaixo faz a mesma coisa que o acima, mas alterando o arquivo original, isso é um tanto perigoso, mas qdo se tem certeza economiza trabalho e processo.
# sed -i -e 's/#//g' -e '$ d' arquivo.txt

Um detalhe interessante, o SED funciona no Windows e Linux.

Um pouco mais de SED
http://sed.sourceforge.net/sed1line_pt-BR.html
http://www.grymoire.com/Unix/Sed.html
http://en.wikipedia.org/wiki/Sed
http://www.ibm.com/developerworks/linux/library/l-sed1.html (nem preciso falar que a IBM é fonte segura de informação). No final do post tem mais dois links

Nenhum comentário: