
Daemonio
(usa Slackware)
Enviado em 14/03/2010 - 09:25h
1) Você pode usar o ';' que nem você fez:
sed 's/ //g ; s/teste//g' arquivo.txt
2) Você pode usar a opção -e no lugar do ';' :
sed -e 's/ //g' -e 's/teste//g' arquivo.txt
Acho que dessa forma fica mais fácil de ler.
3) Uma outra maneira é trabalhar em cima da regexp: Deletar espaços ou a palavra teste:
sed -r 's/ |teste//g' arquivo.txt
Obs: Ao usar as duas primeiras formas em uma linha como:
$ echo 'teste a b c d t e s t e' | sed 's/ //g ; s/teste//g'
A saída será: abcd e não abcdteste (se era isso que você queria). Isso ocorre porque você retira
os espaços primeiro (aí uma nova palavra "teste" é formada) e depois deleta todas as ocorrências
da palavra "teste" no buffer de leitura. Um modo de corrigir isso é utilizar a forma 3) ou
simplesmente inverter a ordem de deleção: Deletar primeiro a palavra teste e depois os espaços.
Acho que é isso.
t+