过滤无效的行,看配置文件有用
关键:\t不是tab,$’\t’才是
先模拟一个配置文件
# cat /tmp/t.txt
#next line is a blank
#next line is a blank and #
#
#
#next line is a tab
#next line is nothing
# begin with tab
abc begin with tab
bca begin with a blank
cde
过滤只有空格的行:
cat /tmp/t.txt |grep -v "^ *$"
过滤只有tab的行
cat /tmp/t.txt |grep -v ^$'\t'*$
过滤只有空格、tab开头并紧接着#的行
cat /tmp/t.txt |grep -v "^ *$" | grep -v ^$'\t'*$ |grep -v "^ *#" |grep -v ^$'\t'*#
更简洁的写法
cat /tmp/t.txt |egrep -v "^ *($|#)"|egrep -v ^$'\t'*($|#)
更更简洁:其实就是用单引号把$单独隔离出来
cat /tmp/t.txt |egrep -v '^('$'\t| )*($|#)'