sta*_*ant 1 regex unix grep regex-negation
当我使用grep(GNU grep) 2.22 打印不开始#或不为空的内容时,我需要做
$ grep -v '^#' fileNameIGrepFor | grep -v '^$'
我认为这很丑陋,有没有更聪明的方法(grep请使用)
grep -v '^#' fileNameIGrepFor | grep -v '^$'
Run Code Online (Sandbox Code Playgroud)
可以简化为:
grep -v '^#\|^$' fileNameIGrepFor
Run Code Online (Sandbox Code Playgroud)
要删除丑陋的内容,\您可以使用grep -E,或等效地egrep:
egrep -v '^#|^$' fileNameIGrepFor
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过对术语进行分组来澄清这一点:
egrep -v '^(#|$)' fileNameIGrepFor
Run Code Online (Sandbox Code Playgroud)
然后通过在 之前检查空格使其更加健壮#:
egrep -v '^(\s*#|$)' fileNameIGrepFor
Run Code Online (Sandbox Code Playgroud)
也许您还想排除所有空行(仅包含空格)?在这种情况下,更改也很简单:
egrep -v '^\s*(#|$)' fileNameIGrepFor
Run Code Online (Sandbox Code Playgroud)