なぜsedではnewlineが機能しますが、newlineでは機能しないのですか?

なぜsedではnewlineが機能しますが、newlineでは機能しないのですか?

名前のリストを含むテキストファイルがあり、改行を次のように変更しようとしています。

これが私が使用するコマンドです

sed 's/\
/,/g' file

反対のことが起こるとき

sed 's/,/\
/g' file

,改行文字に置き換えられます。

ベストアンサー1

sed簡単な方法で改行文字を食べる方法はありません。sed1行ずつ機能するため、改行だけを追加したり削除したりすることはできません。しかし、効果的にできることは2 つの連続ラインを保存して sed 練習を実行します。trたとえば、文字を置き換える機能を調べることもできます。

tr '\n' , < file

複数のツールを使用して、'\n'改行(UNIX改行の場合)を表すこともできます。

Stephenが指摘したようにtr置き換えられます。みんな改行(最後の行を含む)paste指定された区切り文字を使用して行を連結することをお勧めします。

paste -sd, file

おすすめ記事