2016-03-21 10 views
0

私はエントリの一部は次のようになり、テキストファイルがあります。テキストファイルから空白行を削除し、空白行で区切った行を結合するにはどうすればよいですか?

"Hello, my name is 

George. Its very nice to meet you" 

と私は私に次のような結果与えSEDやAWKのコマンドを実行したいと思います。私が知っている

"Hello, my name is George. Its very nice to meet you" 

を私は実行してSEDと空白行を削除することができます。コマンド

sed '/^\s*$/d' 

だけ空白行を削除しますが、上記のように、それは文字列に参加していません。

おかげ

+0

あなたはあなたのファイルのより多くのコンテンツを貼り付けることができますか? – Kent

+1

[sedを使って改行(\ n)を置き換えるにはどうすればいいですか?](http://stackoverflow.com/questions/1251999/how-can-i-replace-a-newline-n-using-sed) – andlrc

答えて

1

Iはawkを使用する:

awk 'BEGIN{RS="\n\n";ORS=" "}1' file 

コマンド入力セパレータと出力レコードセパレータとして空間ように、2つの改行(空行)を使用しています。

1はawkイディオムです。常に真と評価され、awkがすべてのレコードを印刷します。あなたの空白行が空白文字が含まれている可能性がある場合


ところで、にコマンドを変更します。

awk 'BEGIN{RS="\n[[:space:]]*\n";ORS=" "}1' file 
+0

ありがとうございました。作成したテストファイルで動作しましたが、修正する必要があるファイルでは動作しません。たぶん空の行にいくつかのガベージ文字がありますか?私は何も見ません。 – Leonus

+0

おそらくあなたが作業しているファイルはWindowsのものですか? – hek2mgl

+0

それはうまくいった。百万のおかげで! – Leonus