Jak używać ag do wyszukiwania tekstu w plikach z określonymi rozszerzeniami?

23

Używam ag( Silver Searcher ) wersji 0.31.0. Mogę łatwo wyszukać ciąg znaków w wiązce plików, używając:

localhost:workspace davea$ ag 'ftp' .

Ale co, jeśli chcę skanować pliki tylko z pewnymi rozszerzeniami? Próbowałem tego:

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

ale dostałem błędy, które widzisz powyżej.

Dave
źródło
Dałem temu wir, ale dostałem „ERR: Błąd stat () ing: * .java” i „ERR: Błąd otwierania katalogu * .java: Brak takich plików lub katalogów”
Dave

Odpowiedzi:

28

Per instrukcji, można skorzystać agz-G

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

na przykład

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

Według tej samej instrukcji

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

Więc możesz też biegać

ag --java 'ftp' .

choć ograniczy to wyszukiwanie do nazw plików kończących się na .javalub.properties

don_crissti
źródło
2
Ups, przepraszam, usuwanie.
Peter Krauss,
`ag -G '\. (hbs | html) $' słowo kluczowe` jeśli szukasz wielu rozszerzeń plików
Alan Dong
0

W chwili ag version 2.2.0obecnej możesz uruchomić ag --list-file-types, który wyświetli listę obsługiwanych, gotowych typów. Możesz uruchamiać ag "ftp" --javai wyszukiwać tylko różne pliki Java.

mxplusb
źródło