プロが教えるわが家の防犯対策術!

sedを用いた処理で質問があります。
出力結果の改行を置換して一列として表示しようとしているのですが、どうもうまくいきません。
(perlは敢えて使いません)

例えば、以下のようなファイルがあるとして、

$ cat hoge.txt
hoge
boo
bar

この出力結果を加工して、「hoge boo bar」のように、
改行をスペースに置換して一行として表示したい場合は、どのようにすれば良いでしょうか?

ちなみに、以下のような使い方だと、うまくいきませんでした。

$ cat hoge.txt | sed 's/\
> / /g'

$ cat hoge.txt | sed 's/\n/ /'


■実行環境

OS : RedHat EL 1
sedのバージョン : sed-4.0.7-3

宜しくお願い致します。

A 回答 (1件)

redhatだったら、sedのオンラインマニュアルがあるはずですから熟読してください。


たとえば、Nコマンド(append the next line of input into the pattern space.)を使えばできます。

しかし、改行を削るだけだったらsedを使うまでもなく
cat hoge.txt |tr -d '\012'
改行文字を空白に変えるのなら
cat hoge.txt |tr '\012' ' '
で済みますが。
ファイルが小さければ、 echo `cat hoge.tst`
というのも。
    • good
    • 0
この回答へのお礼

perlは入っていない処理系があるのでsedで・・・・・・
と思ったのですが、trでこのように出来るとは。
trでいこうと思います。

私の勉強不足でした。

ありがとうございました。

お礼日時:2006/07/11 11:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!