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

相關內容