相关文章推荐
谈吐大方的斑马  ·  ThingsBoard ...·  1 年前    · 
朝气蓬勃的足球  ·  马普所韦业/Dierk ...·  1 年前    · 
安静的小摩托  ·  Redis 时间轮 ...·  1 年前    · 

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}'
tr -s "n"

除此之外,vim也可以在查看时。通过命令模式删除空行。vim在命令模式下输入:

%s/^n//g

意思是全局替换所有以回车开头的字符,替换为空。如果有多个连续的空行,想保留一行。则只需在命令行模式输入下行即可:

%s/^n$//g
linux下vi中批量删除空行的方法: 可以直接使用linux的grep命令来删除,如下: grep -v ^$ oldfilename > newfilename 但是在FreeBSD下面不行,可能是grep版本的问题 用vi的替换命令: vim的命令为:%s/^\n//g 以上命令实现全局替换所有以回车开头的字符,替换为空。 如果有多个连续的空行,想保留一个.
本文详细介绍了使用shell去除文件中的 空行 方法 ,学习下sed、awk、shell文件检测的 方法 ,有需要的朋友可以作个参考。本节内容:shell去掉文件中 空行 1,shell 去掉文件中的 空行 代码如下:cat filename | sed -e ‘/^$/d’ > filename 2,保留最新的9个文件,其它的文件 删除 的命令语句 代码如下:ls -t | awk ‘{if(NR>9){print $0}}’ |xargs rm -f 附,shell中的特殊变量$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结
# Delete text between patterns, excluding the lines containing these patterns(不 删除 所在行): sed -i '/PATTERN-1/,/PATTERN-2/{//!d}' input.txt # Delete text between patterns, including the lines containing these patterns(所在行也 删除 ):