Wie kann ich mit ag nach Text in Dateien mit bestimmten Erweiterungen suchen?

23

Ich verwende ag( The Silver Searcher ) Version 0.31.0. Ich kann leicht nach einer Zeichenfolge in einer Reihe von Dateien suchen, indem ich Folgendes verwende:

localhost:workspace davea$ ag 'ftp' .

Aber was ist, wenn ich nur Dateien mit bestimmten Erweiterungen scannen möchte? Ich habe es versucht:

localhost:workspace davea$ ag 'ftp' .java
ERR: Error stat()ing: .java
ERR: Error opening directory .java: No such file or directory

habe aber die fehler die du oben siehst.

Dave
quelle
Wirbelte herum, bekam aber "ERR: Error stat () ing: * .java" und "ERR: Fehler beim Öffnen des Verzeichnisses * .java: Keine solchen Datei- oder Verzeichnisfehler"
Dave

Antworten:

28

Laut Handbuch könntest du agmit-G

   -G --file-search-regex PATTERN
          Only search files whose names match PATTERN.

z.B

ag -G '\.java$' 'ftp' .

Nach dem gleichen Handbuch

   It is possible to restrict the types of files searched [...]
   For a list of supported types, run ag --list-file-types.

Du könntest also auch rennen

ag --java 'ftp' .

Dies würde jedoch die Suche auf Dateinamen einschränken, die auf .javaoder enden.properties

don_crissti
quelle
2
upps sorry, löschen
Peter Krauss
`ag -G '\. (hbs | html) $' Schlüsselwort`, wenn Sie mehrere Dateierweiterungen suchen
Alan Dong
0

Ab ag version 2.2.0können Sie ausführen ag --list-file-types, wobei unterstützte Standardtypen aufgelistet werden. Sie können ag "ftp" --javanur verschiedene Java-Dateien ausführen und durchsuchen.

mxplusb
quelle