vim下删除空行可以真正修改文件,但是用于大容量文件时很慢,而且也不知道何时修改完成;
其他方法只是可以显示删除空行后的内容,而不改变文档内容,若要保存修改后的结果需在file后加上>newfilename。
在查看linux下的配置文件时,为了便于一目了然的查看,经常会删除空行和#头的行。而linux在删除空行的方法很多,grep、sed、awk、tr等工具都能实现。现总结如下:
^代表行开头,\转义 *重复匹配 $代表行尾 d删除 \s是空白匹配 *代表出现0次或者多次
注意:空行有可能是 没有空格的行 和有空格的行
1、grep
grep -v '^$' file
2、sed
sed '/^$/d' file 或 sed -n '/./p' file
sed '/^\s*$/d' file
3、awk
awk '/./ {print}' file 或 awk '{if($0!=" ") print}'
4、tr
tr -s "n"
除此之外,vim也可以在查看时。通过命令模式删除空行。vim在命令模式下输入:
%s/^n//g
意思是全局替换所有以回车开头的字符,替换为空。如果有多个连续的空行,想保留一行。则只需在命令行模式输入下行即可:
%s/^n$//g