Use o AWK adicionar nova linha se houver correspondência

2

Eu tenho um arquivo com o seguinte formato:

aaa@ bbb
bbb@ ccc& ddddd@ aaaf
ccc@ ddd& eee: abcd& dassda

A saída deve ser:

aaaa@ bbb
bbb@ ccc&
ddddd@ aaaf
ccc@ ddd&
eee@ abcd& dassda

Como eu conseguiria isso usando o AWK? Eu tentei sed e awk, mas eu só posso imprimir uma nova linha depois do delimitador, eu não sei como imprimir a coisa toda na próxima linha.

    
por user17000 29.03.2012 / 11:40

1 resposta

7

sed:

sed 's/& /\&\n/' file

no caso de você precisar substituir todos os & em cada string, basta adicionar g após a última / .

awk:

awk '{ sub(/& /,"&\n"); print }'

no caso de você precisar substituir todos os & em cada string, use gsub em vez de sub .

    
por 29.03.2012 / 11:53

Tags