Linux 删除文件中空行的方法

在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能。将常用的介绍如下吧:

使用 grep 命令

# grep . data.txt
# grep -v '^$' data.txt
# grep '[^$]' data.txt

使用 sed 命令

# sed  '/^$/d' data.txt
# sed '/^\s*$/d' data.txt   # 这个命令还可将完全空格、tab 等组成的空行删掉。

使用 awk 命令

# awk NF data.txt   # 这个也可以将空格、tab 等组成的空行删掉。
# awk '!/^$/' data.txt

使用 tr 命令

# tr -s '\n' < data.txt

貌似这些可以处理的命令里面,grep . data.txt 这个的效率是比较高的,如果处理大数据量时可以比较一些这些命令的性能。