Use AWK para adicionar nova linha se existir correspondência

Use AWK para adicionar nova linha se existir correspondência

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 só consigo imprimir uma nova linha após o delimitador, não sei como imprimir tudo na próxima linha.

Responder1

sed:

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

caso você precise substituir tudo &em cada string, basta adicionar gdepois de last /.

ah:

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

caso você precise substituir tudo &em cada string, gsubuse sub.

informação relacionada