7

私がgrepで慣れているように、パターンをack(Linuxの一部のディストリビューションではack-grep)でチェーンすることは可能ですか(そしてどのように)?

例えば

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

...すべての行を「foo」と一致させますが、「bar」は一致させません。

4

1 に答える 1

11

ackPerl正規表現を使用し、それらは先読みアサーションを許可します:

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

fooを含むが含まない行に一致しますbar

私はの使用法に精通していませんackが、次のようなものが機能するはずです:

ack '^(?!.*bar).*foo.*$' myfile
于 2011-05-31T14:47:26.017 に答える