一致するものがある場合は、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最後の後に追加するだけです/

奇妙な:

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

&すべての文字列のすべての内容を置き換える必要がある場合をgsub使用してくださいsub

関連情報