如何在sed / vim中删除仅个空白行?
有几个问题已经解决了Deleting Blank Lines in ViM,但我希望保留多个空行(或单个空行),以便:
this
kind
of
thing
变为
this
kind
of
thing
答案 0 :(得分:7)
这个很好用:
:%s/^\n\(^\n\)*/\1/
答案 1 :(得分:0)
另一种方法是使用:g。它不比%s解决方案更快或更好,但感觉它更容易阅读(至少对我来说):
:g /^$/ d
答案 2 :(得分:0)
这可能适合你(GNU sed):
sed '/^\n*$/!b;N;//!D' file
这将删除两个非空行和其他空行之间的空行,或者:
sed '/^\n*$/!b;N;//!D;:a;z;N;//ba' file
如上所述,但这也会将多个空行挤压到一个空行。