grep 行不以 # 或空行开头

grep lines NOT starting with # or empty lines

当我使用 grep (GNU grep) 2.22 打印 not# 开始或者 not空我需要做

$ grep -v '^#' fileNameIGrepFor | grep -v '^$'

我觉得这很丑,有没有更聪明的方法(请使用grep

grep -v '^#' fileNameIGrepFor | grep -v '^$'

可以简化为:

grep -v '^#\|^$' fileNameIGrepFor

要删除丑陋的 \,您可以使用 grep -E,或者等效地 egrep:

egrep -v '^#|^$' fileNameIGrepFor

然后您可以通过对术语进行分组来澄清这一点:

egrep -v '^(#|$)' fileNameIGrepFor

然后通过在 #:

之前包含对空格的检查使其更加健壮
egrep -v '^(\s*#|$)' fileNameIGrepFor

也许您还想排除所有空行(只包含空格)?在这种情况下,更改也很简单:

egrep -v '^\s*(#|$)' fileNameIGrepFor