我正在尋找類的實例,例如Foo
除了導入。也就是說,比賽應該如下。grep表示行不以其他模式開始的模式
import com.acme.Foo; // Does not match
...
import com.acme.FooBar; // Does not match
...
static Foo FOO = new Foo(); // matches
...
Foo f = new Foo(); // matches
FooBar.newFoo(); // matches
我想這可以用perl正則表達式來完成,帶有負向lookbehind?我不知道perl在所以我使用grep --perl-regexp
,但無法弄清楚,主要是因爲我不知道perl regexps也很好。我只能拿出以下內容,這兩者都不起作用:
grep --perl-regexp -nH '(?<!import).*Foo' t #matches all lines
grep --perl-regexp -nH '(?<!import .*)Foo' t #error: lookbehind assertion is not fixed length
我打開使用perl以及給定的確切命令來使用。
編輯:順便說一句,有趣的是,Perl的答案是從用戶使用適當的神祕和簡潔的名字 - HWND和ZX81 :)
這就是我在做什麼,直到我得到這個答案,但它會歪斜grep的輸出因爲我也在使用'--before-context' –