使用ack-grep的多个模式?

scr*_*rrr 6 regex grep ack

是否有可能(以及如何)使用ack链接模式(在Linux的某些发行版上使用ack-grep),就像我习惯使用grep一样?

例如

grep "foo" somefile.c | grep -v "bar"
Run Code Online (Sandbox Code Playgroud)

...用"foo"匹配所有行但没有"bar".

Tim*_*ker 10

ack使用Perl正则表达式,那些允许前瞻断言:

^(?!.*bar).*foo.*$
Run Code Online (Sandbox Code Playgroud)

将匹配包含foo但不包含的行bar.

我不熟悉它的用法ack,但这样的东西应该有用:

ack '^(?!.*bar).*foo.*$' myfile
Run Code Online (Sandbox Code Playgroud)