如果匹配存在,使用 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:

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

如果您需要替换&每个字符串上的所有内容,只需g在 last 后面添加即可/

awk:

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

如果您需要替换&每个字符串上的所有内容,gsub请使用sub.

相关内容