Bagaimana cara menggunakan ag untuk mencari teks dalam file dengan ekstensi tertentu?

23

Saya menggunakan ag( The Silver Searcher ) versi 0.31.0. Saya dapat dengan mudah mencari string dalam banyak file menggunakan:

localhost:workspace davea$ ag 'ftp' .

Tetapi bagaimana jika saya hanya ingin memindai file dengan ekstensi tertentu? Saya mencoba ini:

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

tetapi ada kesalahan yang Anda lihat di atas.

Dave
sumber
Memberi pusaran tetapi mendapat "ERR: Error stat () ing: * .java" dan "ERR: Error membuka direktori * .java: Tidak ada file atau direktori" kesalahan
Dave

Jawaban:

28

Per manual, Anda bisa menggunakannya agdengan-G

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

misalnya

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

Per manual yang sama

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

Jadi Anda juga bisa lari

ag --java 'ftp' .

meskipun itu akan membatasi pencarian untuk mengajukan nama yang diakhiri dengan .javaatau.properties

don_crissti
sumber
2
Ups maaf, hapus.
Peter Krauss
`ag -G '\. (hbs | html) $' kata kunci` jika Anda mencari beberapa ekstensi file
Alan Dong
0

Pada ag version 2.2.0, Anda dapat menjalankan ag --list-file-types, yang akan mencantumkan jenis yang didukung, di luar kotak. Anda dapat menjalankan ag "ftp" --javadan mencari hanya terhadap berbagai file Java.

mxplusb
sumber