我知道在SO How can I replace mutliple empty lines with a single empty line in bash?中有類似的問題。但我的問題是,這可以通過使用sed
命令來實現嗎?我可以使用sed命令將多個空行替換爲一個空行嗎?
由於
我知道在SO How can I replace mutliple empty lines with a single empty line in bash?中有類似的問題。但我的問題是,這可以通過使用sed
命令來實現嗎?我可以使用sed命令將多個空行替換爲一個空行嗎?
由於
這給一試:
sed '/^$/N;/^\n$/D' inputfile
可以通過先去除空行,並與ģ追加線空間命令這樣做:
sed '/^$/d;G' text.txt
EDIT2:上述命令將添加的每個之間的空行如果這不是你想要的,你可以這樣做:
sed -n '1{/^$/p};{/./,/^$/p}'
或者,如果你不介意,所有領先的空行會被剝離,也可以寫爲:
sed -n '/./,/^$/p'
,因爲第一個表達式只進行第一線,並打印出來,如果它是空白。
這裏:-n選項禁止圖案空間自動打印,/./,/^$/限定至少一個字符,沒有字符之間的範圍內(換行之間即空的空間)和p告訴打印此範圍。
要讀所有的答案在下一次:http://stackoverflow.com/questions/922449/how-can-i-replace-mutliple-empty-lines-with -a-single-empty-line-in-bash/922499#922499 – OrangeDog 2010-12-23 17:47:58
其實我已經讀過所有的答案。 Clue Less和Can BerkGüder提供的答案只是刪除所有空行,與我所需要的不同。 – 2010-12-23 17:57:19