sedで改行をスペースに置換出来ない

[code]

    hoge hoge hoge
    hoge hoge
    hoge
    
[/code]

という内容のhoge.txtを sed 's/\n/ /g' しても置換されないのですが、その理由を教えていただきたいです  
sed 's/ /\n/g' の場合は正常に置換されているのですが...




`sed` は、入力を１行ごとに処理するからです。

多分、今 @doanobu さんがほしいと思っているのは`tr` です。

[code]

    tr '\n' ' '
    
[/code]

* * *

もうちょっと補足をすると、 sed の基本的な実行フローは、

  1. 一行メモリ(pattern space) に読み込む (改行は含まない)
  2. コマンド( `s/\n/ /g` などのこと)たちの実行
  3. メモリ(pattern space) の出力(この時再度改行が追加される)

の繰り返しです。なので、何かしらそれ用の操作の指定 ( @argus さんや @mjy さんのように ) をやらないと、改行に対して操作は実行できないです。




`sed` は、入力を１行ごとに処理するからです。

多分、今 @doanobu さんがほしいと思っているのは`tr` です。

[code]

    tr '\n' ' '
    
[/code]

* * *

もうちょっと補足をすると、 sed の基本的な実行フローは、

  1. 一行メモリ(pattern space) に読み込む (改行は含まない)
  2. コマンド( `s/\n/ /g` などのこと)たちの実行
  3. メモリ(pattern space) の出力(この時再度改行が追加される)

の繰り返しです。なので、何かしらそれ用の操作の指定 ( @argus さんや @mjy さんのように ) をやらないと、改行に対して操作は実行できないです。

