scrrr
scrrr

Reputation: 5340

Multiple patterns with ack-grep?

Is it possible (and how) to chain patterns with ack (ack-grep on some distributions of Linux) like I'm used to with grep?

e.g.

grep "foo" somefile.c | grep -v "bar"

...to match all lines with "foo" but without "bar".

Upvotes: 7

Views: 3823

Answers (1)

Tim Pietzcker
Tim Pietzcker

Reputation: 336098

ack uses Perl regular expressions, and those allow lookahead assertions:

^(?!.*bar).*foo.*$

will match a line that contains foo but doesn't contain bar.

I'm not familiar with the usage of ack, but something like this should work:

ack '^(?!.*bar).*foo.*$' myfile

Upvotes: 11

Related Questions