Используйте AWK, чтобы добавить новую строку, если совпадение существует

Используйте AWK, чтобы добавить новую строку, если совпадение существует

У меня есть файл следующего формата:

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

Вывод должен быть таким:

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

Как мне добиться этого с помощью AWK? Я пробовал sed и awk, но я могу вывести только новую строку после разделителя, я не знаю, как вывести все это на следующей строке.

решение1

сэд :

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

если вам нужно заменить все &в каждой строке, просто добавьте gпосле последней /.

awk:

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

в случае, если вам нужно заменить все &в каждой строке, используйте gsubвместо этого sub.

Связанный контент