Avançar para o conteúdo principal

Linha de comandos: SED


Já me ocorreu ter que adicionar valores alfanuméricos em todas as linhas de um ficheiro de texto. Dependendo do numero de linhas esta pode ser uma das tarefas manuais em que desistimos logo antes de começarmos. Ou não se utilizarmos então o comando sed.

Através da consola de linux, o comando sed permite adicionar letras ou outros valores alfanuméricos antes ou depois das linhas de texto já previamente escritas num determinado ficheiro.

Ex: Em cada uma das linhas do ficheiro lista.txt, eu pretendia adicionar no inicio o seguinte (Inicio da linha). Com estas alterações a ficarem num novo ficheiro com o nome de "nova_lista.txt":
sed 's/^/Inicio da linha/' lista.txt > nova_lista.txt
Com o mesmo exemplo mas para o final da linha:
sed 's/$/Fim da linha/' lista.txt > nova_lista.txt
Também podemos combinar tudo num único comando que seria assim:
sed "s/.*/Inicio da linha&Fim da linha/" lista.txt > nova_lista.txt
O resultado do ficheiro nova_lista.txt poderia ser como exemplo o seguinte depois das alterações que fizemos no inicio e no final de cada linha;
Inicio da linha aaaaaaaaaa Fim da linha
Inicio da linha bbbbbbbbbbbbb Fim da linha
Inicio da linha cccccc Fim da linha
...
....
Mais informação e mais exemplos do comando sed aqui.

Comentários