Gnu-Parallel

與 ag 或 ack 串聯使用沒有輸出

  • September 13, 2017

我有一個java保留字列表,第一個字母大寫。

$ tail -n5 ~/reservedjava.txt
Break
While
True
False
Null

我正在嘗試查看我所有的 java 原始碼以找到看起來像getWhile().

cat ~/reservedjava.txt | parallel 'ag "get{}\(\)$"'

這沒有告訴我什麼。現在,我知道我有一個方法getBreak()

$ ag "getBreak\(\)$"
src/main/java/Foo.java
154:  public Break getBreak()

這是空執行的樣子:

$ cat ~/reservedjava.txt | parallel --dry-run 'ag "get{}\(\)$"' | tail -n5
ag "getBreak\(\)$"
ag "getWhile\(\)$"
ag "getTrue\(\)$"
ag "getFalse\(\)$"
ag "getNull\(\)$"

我正在使用gnu parallel (v. 20130722) 和silver searcher (ag) (v. 0.18.1)。如果它有所作為,我在 Fedora 19 上,但我自己編譯了這些實用程序。我用 ack (v. 2.12) 得到了同樣的結果。

cat ~/reservedjava.txt | parallel 'ag "get{}\(\)$"'

這不起作用,因為ag需要一個路徑參數。例如,搜尋哪裡

這有效,從目前目錄開始遞歸搜尋:

cat ~/reservedjava.txt | parallel 'ag "get{}\(\)$" ./'

引用自:https://unix.stackexchange.com/questions/108471