awk:有没有办法过滤不匹配的正则表达式?

awk: is there a way to filter non-matching regex?

在某些情况下,我会这样使用 awk:

% some_command | awk /regex/

因为它不缓冲它的输出,我可以马上得到 some_command 的输出。也有一种方法可以用 grep 来完成(我认为使用 --line-buffered)但是我在我工作的系统上没有这个版本的 grep。所以 awk 完成了这项工作。

但有时我想过滤不匹配的正则表达式(即像 grep 的 -v 选项)。有没有办法用 awk 做到这一点?

使用

some_command | awk '!/regex/'

! 表示 "not," 所以这会选择不匹配的行 regex.