這是例1的輸入:替代兩個空行與一個空行文件
a
b
和輸出:
a
b
這是示例2的輸入:
a
b
而輸出:
a
b
但是,一個巨大的文件。我曾嘗試:sed 's/\n\n/\n/g' file
AMD cat file | tr '\n' '\t' | sed 's/\t\t/\t/g' | tr '\t' '\n'
這是例1的輸入:替代兩個空行與一個空行文件
a
b
和輸出:
a
b
這是示例2的輸入:
a
b
而輸出:
a
b
但是,一個巨大的文件。我曾嘗試:sed 's/\n\n/\n/g' file
AMD cat file | tr '\n' '\t' | sed 's/\t\t/\t/g' | tr '\t' '\n'
也有可能使用sed
sed '/^$/N;/^\n$/ s/\n//' <your_filename>
將讀取下一行到模式空間(空之後),並且如果它也是空的,除去\ n
sed的一次讀取1條\n
封端的線,所以你不能這樣做,因爲s/\n\n/anything
絕不會有任何\n
S IN緩衝區。
只需使用AWK:
awk -v RS= '1' file
上面將由一個空行替換的空行的所有序列。如果這不是你需要的,那麼更新你的例子。
如果你特別想要替換爲一個,只需設置在gawk
的RS
做到這一點:
gawk 'BEGIN{RS="\n\n"} 1' file
如果你想的\n
運行所取代,任意數量的,具有單\n
設置awk
到段落模式:
awk 'BEGIN{RS="" } 1'
如果有3個或更多個相鄰的空行?你是否需要將每一對空行替換爲一個空行? – codeforester