Возможно ли (и как) связать шаблоны с помощью ack (ack-grep в некоторых дистрибутивах Linux), как я привык к grep?
например,
grep "foo" somefile.c | grep -v "bar"
... для сопоставления всех строк с "foo", но без "bar".
ack использует регулярные выражения Perl, и они позволяют прогнозные утверждения :
ack
^(?!.*bar).*foo.*$
будет соответствовать строке, содержащей foo, но не содержащей bar.
foo
bar
Я не знаком с использованием ack, но что-то вроде этого должно работать:
ack '^(?!.*bar).*foo.*$' myfile