Sed

sed 可以刪除“雙”換行符嗎?

  • March 5, 2022

我有一個包含很多空行的文件。

當有 2 個或更多在一起時,如何刪除它們。

我嘗試sed "s/\n\n//"了文件,但它沒有用。沒有錯誤。

sed '/^$/d'

sed是面向行的,因此考慮“2 個或多個特定字節”是可行的,除非該字節是換行符。然後你必須想出適用於整條生產線的東西。

不需要sedgrep會做:

grep .

(即grep,SPC,點,即匹配任何包含至少一個字元的行)。

還有:

tr -s '\n'

(將任何換行符序列壓縮為一個)。

正如克里斯所指出的,兩者都不等效,因為刪除空行(如上面的第一個解決方案和大多數其他答案集中在這裡)與在第一行為空的情況下按要求擠壓換行符序列不同因為它只需要一個前導換行符使第一行為空。

引用自:https://unix.stackexchange.com/questions/76061