Linux中删除文本文件中所有的空行
2012-04-06 10:34:28
分类: LINUX
1:删除空行:
(1) 直接用vi进行操作
:g/^$/d
保存便可
(2) sed -e '/^[ ]*$/d'
如果上面的sed不行,可以使用
sed -e '/^\s*$/d'
2.删除注释:
(1)用tr命令
# grep -v "#" /etc/snmp/snmpd.conf |
tr -s '\n'
(2)用sed命令
# grep -v "#" /etc/snmp/snmpd.conf |
sed '/^$/d'
(3)用awk命令
# grep -v "#" /etc/snmp/snmpd.conf |
awk '{if($0!="")print}'
# grep -v "#" /etc/snmp/snmpd.conf | awk '{if(length !=0) print $0}'
(4)用grep命令
# grep -v "#" /etc/snmp/snmpd.conf |
grep -v "^$"
(5) 用grep命令
# grep ^[^#] /etc/snmp/snmpd.conf
我解释下^[^#]/ 是个正则表达式。 ^[^#] 取的结果为非#开头的行。
注:本文中的"|"管道前是去除注释,管道后是去除空行。上面所有例子中是用grep -v来去除注释,也可以用sed -e "s/#.*//g" filename 来过滤。