Utilice AWK para agregar una nueva línea si existe una coincidencia

Utilice AWK para agregar una nueva línea si existe una coincidencia

Tengo un archivo con el siguiente formato:

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

La salida debería ser:

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

¿Cómo podría lograr esto usando AWK? Probé sed y awk pero solo puedo imprimir una nueva línea después del delimitador, no sé cómo imprimir todo en la siguiente línea.

Respuesta1

sed:

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

en caso de que necesite reemplazar todo &en cada cadena, simplemente agréguelo gdespués del último /.

awk:

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

en caso de que necesite reemplazar todo &en cada cadena, utilice gsuben su lugar sub.

información relacionada