有时当进行某些配置文件的查看时,分去除注释(如:"#"),但之后还会发现中间也许会有好多空行,所以,现小结一下去除空行的方法。
1)用tr命令
# grep -v "#" /etc/snmp/snmpd.conf |tr -s '\n'
2)用sed命令
# grep -v "#" /etc/snmp/snmpd.conf |sed '/^$/d'
# grep -v "#" /etc/snmp/snmpd.conf |sed /^\s*$/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}'
# grep -v "#" /etc/snmp/snmpd.conf |awk NF
# grep -v "#" /etc/snmp/snmpd.conf |awk '!/^$/'
4)用grep命令
# grep -v "#" /etc/snmp/snmpd.conf |grep -v "^$"
# grep -v "#" /etc/snmp/snmpd.conf |grep ^[^$]
# grep -v "#" /etc/snmp/snmpd.conf |grep .
# grep ^[^#] /etc/snmp/snmpd.conf
我解释下^[^#]/ 是个正则表达式。 ^[^#] 取的结果为非#开头的行。
注:本文中的"|"管道前是去除注释,管道后是去除空行。上面所有例子中是用grep -v来去除注释,也可以用sed 's/#.*//g' filename 来过滤。
本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/491847 ,如需转载请自行联系原作者