ฉันจะใช้ ag เพื่อค้นหาข้อความในไฟล์ที่มีนามสกุลบางอย่างได้อย่างไร


23

ฉันใช้ag( The Silver Searcher ) เวอร์ชั่น 0.31.0 ฉันสามารถค้นหาสตริงในกลุ่มของไฟล์โดยใช้:

localhost:workspace davea$ ag 'ftp' .

แต่ถ้าฉันต้องการสแกนไฟล์ที่มีนามสกุลเฉพาะ ฉันลองสิ่งนี้:

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

แต่มีข้อผิดพลาดที่คุณเห็นด้านบน


ให้วน แต่มี "ข้อผิดพลาด: stat ข้อผิดพลาด () ไอเอ็นจี: * .java" และ "ERR: ข้อผิดพลาดในการเปิดไดเรกทอรี * .java: ไม่มีข้อผิดพลาดไฟล์หรือไดเรกทอรี"
เดฟ

คำตอบ:


28

ตามคู่มือคุณสามารถใช้agกับ-G

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

เช่น

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

ตามคู่มือเดียวกัน

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

ดังนั้นคุณสามารถเรียกใช้

ag --java 'ftp' .

แม้ว่าจะเป็นการ จำกัด การค้นหาเฉพาะชื่อไฟล์ที่ลงท้ายด้วย.javaหรือ.properties


2
ขออภัยขออภัยการลบ
Peter Krauss

`ag -G '\. (hbs | html) $' keyword 'หากคุณกำลังค้นหานามสกุลไฟล์หลายไฟล์
Alan Dong

0

ตั้งแต่วันที่ag version 2.2.0คุณสามารถเรียกใช้ag --list-file-typesซึ่งจะแสดงรายการประเภทที่ได้รับการสนับสนุนนอกกรอบ คุณสามารถรันag "ftp" --javaและค้นหาไฟล์ Java ที่แตกต่างกันเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.