当我使用grep
(GNU grep)2.22打印不从#
开始或不为空时,我需要做
$ grep -v '^#' fileNameIGrepFor | grep -v '^$'
我认为这很丑陋,有更聪明的方法(请使用grep
)
答案 0 :(得分:3)
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