删除文件中的空行和注释行
//sed -e "s/#.*/ /g" test_file.conf | awk '{if (length !=0) print $0}'
更正为:sed -e "s/#.*//g" test_file.conf | awk '{if (length !=0) print $0}'
sed 命令检查第一行是否以“#”字符开始,“.*”表示任意个字符串。
* 匹配重复零次或多次前一字符
. 匹配任意字符( 除换行符 )
正则表达式可参考:http://blog.youkuaiyun.com/ysdaniel/article/details/6959059
sed用法可参考:http://blog.youkuaiyun.com/ysdaniel/article/details/6819207
如果某行匹配要求的模式,sed不输出结果,否则显示该行。它的作用是显示文件的原始内容,除去任何注释行(以#开头的行)。
管道将sed的输出传送到awk,过滤长度为0的行,只显示长度不为0的行,实现了删除文件中的空行和注释行。
awk中的length是一个保存了当前行的字符数的内部变量。
awk用法可参考:http://blog.youkuaiyun.com/ysdaniel/article/details/6819205