MaxOSXでsedを使用する場合は、\n改行の代わりにnを印刷してください。

MaxOSXでsedを使用する場合は、\n改行の代わりにnを印刷してください。

を使用すると一般的に発生する問題ですsed\nsedsed

私のファイルにはmyfile次の内容が含まれています。

1 2 3 4 5

私がこれを使うとき:

sed 's/ /\n/g' myfile

わかりました:

1n2n3n4n5

これを得る代わりに:

1
2
3
4
5

問題がどこにあるかを知っている人はいますか?

ベストアンサー1

あなたはあなたを使っているので、OSX 10.8あなたのsedツールではFreeBSD sedありませんGNU sed。したがって、改行文字としてFreeBSD sed解釈されません。\n

あなたは試すことができます:

$ sed 's/ /\'$'\n/g' myfile

$'\n/g'文字列を標準エスケープ拡張として解釈し、bash処理する\n前に改行文字に変換します。sed

またはtr代わりに使用してくださいsed

$ tr -s ' ' '\n' < myfile

おすすめ記事