O programa SED
Dica publicada em Linux / Miscelânea
O programa SED
O SED é um programa usado para encontrar e substituir
expressões em arquivos. Muito útil para quem trabalha
com texto ou programação.
Pode ser utilizado para diversas coisas, como por exemplo, converter um arquivo todo escrito em letras maiúsculas em um outro com a formatação em letras minúsculas.
Abra um editor e digite:
Pode ser utilizado para diversas coisas, como por exemplo, converter um arquivo todo escrito em letras maiúsculas em um outro com a formatação em letras minúsculas.
Abra um editor e digite:
#!/bin/sed - f
s/A/a/g
s/E/e/g
s/I/i/g
s/O/o/g
s/U/u/g
s/A/a/g
s/E/e/g
s/I/i/g
s/O/o/g
s/U/u/g
Onde cada uma dessas linhas substitui uma letra maiúscula pela equivalente minúscula. No exemplo, foram colocadas somente as vogais. Descrevendo a linha de comando, seria:
- /s - é o comando que diz ao SED que ele deve fazer uma substituição;
- "A" - o "A" maiúsculo é a string de texto a ser substituída;
- "a" - o "a" minúsculo é a string que substituirá a primeira;
- "g" - é outro comando que muda para a linha seguinte.
Salve o arquivo e dê a ele permissão de execução.
Agora execute o arquivo:
$ ./converte teste.txt > teste1.txt
Isso fará com que ele leia o arquivo teste.txt e salve as substituições no arquivo teste1.txt. O original é mantido para verificação e modificação posterior.
O SED pode fazer outras coisas, como eliminar códigos de acentuação.
Exemplo:
#!/bin/sed - f
s/á/á/g
s/ç/ç/g
s/á/á/g
s/ç/ç/g
O processo é o mesmo usado pelo exemplo anterior.
Para um conteúdo completo sobre o SED, acesse o endereço:
FAQ: http://www.student.northpark.edu/pemente/sed/sedfaq.html
Vc saberia me dizer como converter os acentos ?
á para Á
ç para Ç
etc..
Muito Obrigado!!!