2016-03-21 19 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

我會使用awk

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

該命令使用兩個新行(一個空行)作爲輸入分離器和作爲輸出記錄分隔符的空間。

1是awk成語。它將始終評估爲真,這使得每個記錄都會打印出awk


順便說一下,如果你的空行可能會包含空格,更改命令:

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

非常感謝您的回覆。它確實與我創建的測試文件一起工作,但它不適用於我需要修復的文件。也許在所謂的空行中有一些垃圾字符?我沒有看到任何。 – Leonus

+0

可能您正在使用的文件來自Windows? – hek2mgl

+0

工作。萬分感謝! – Leonus

相關問題