Nenhuma saída usando paralelo em conjunto com ag ou ack

3

Eu tenho uma lista de palavras reservadas em java, com a primeira letra em maiúscula.

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

Estou tentando analisar todo o código-fonte java para encontrar métodos semelhantes a getWhile() .

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

Isso não me mostra nada. Agora, eu sei que tenho um método getBreak() :

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

Veja como funciona uma corrida seca:

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

Estou usando o paralelo do gnu (v. 20130722) e o o pesquisador de prata (ag) (v. 0.18.1). Se isso faz diferença, estou no Fedora 19, mas compilei esses utilitários eu mesmo. Eu obtenho o mesmo resultado com ack (v. 2.12).

    
por djeikyb 08.01.2014 / 23:00

1 resposta

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

Isso não funciona porque ag quer um argumento de caminho. Por exemplo, pesquise onde .

Isso funciona, busca recursivamente a partir do diretório atual:

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