阅读 conf 文件时,总会遇到大量的注释行,有时候会想删繁就简!
-
grep -v “^#” test.conf | grep -v “^$”
-v 取相反
^匹配以某个字符串开头
$匹配以某个字符串结尾以上表示 grep 出来不是以# 开头的行
然后
再次 grep 出来其中不是以空白结尾的行
带缩进或空格开头接 # 的行,不会被过滤过滤掉所有顶格头一个字符是 # 开头的注释行
-
grep -v “#” test.conf |grep -v “^$”
这个没有 ^ ,grep 所有带 # 的行
带缩进或空格开头接 # 的行,也会被过滤这个过于粗暴,可能会过滤掉有用的带 # 行
-
grep -v “^#” test.conf | grep -v KaTeX parse error: Undefined control sequence: \t at position 2: '\̲t̲#' | grep -v "^"
先过滤以# 开头的行
再过滤以 tab + # 开头的行
再过滤空行这样子应该就可以过滤掉所有的 # 开头的注释行了!
总结一下
grep -v "^#" test.conf | grep -v "^$" grep -v "#" test.conf |grep -v "^$"grep -v "^#" test.conf | grep -v $'\t#' | grep -v "^$"
如果是 cat 开始,就是一下这样子
cat test.conf | grep -v "^#" | grep -v "^$" cat test.conf | grep -v "#" |grep -v "^$"cat test.conf |grep -v "^#" | grep -v $'\t#' | grep -v "^$"