ฉันเริ่มใช้ ack ซึ่งเร็วกว่า grep มาก อย่างไรก็ตามการใช้ ack ฉันต้องการค้นหาชื่อไฟล์มากกว่าเนื้อหาไฟล์ มีวิธีทำเช่นนั้นหรือไม่?
ฉันเริ่มใช้ ack ซึ่งเร็วกว่า grep มาก อย่างไรก็ตามการใช้ ack ฉันต้องการค้นหาชื่อไฟล์มากกว่าเนื้อหาไฟล์ มีวิธีทำเช่นนั้นหรือไม่?
คำตอบ:
ใช้เครื่องมือที่เหมาะสมสำหรับงานที่เหมาะสม หากคุณต้องการค้นหาชื่อไฟล์ให้ใช้ 'ค้นหา':
$ # search for all *.txt file in current directory
$ find . -iname "*.txt"
find . | ack whatev.ext
ack -g REGEX
พิมพ์ไฟล์ที่สัมพันธ์กับชื่อพา ธ + ชื่อไฟล์ตรงกับ REGEX
[^/]*$
ใน REGEX ของคุณเพื่อค้นหาในชื่อไฟล์เท่านั้น
ฉันเห็นด้วยที่จะใช้การค้นหาถ้าคุณเพิ่งค้นหาไฟล์ * .txt อย่างไรก็ตามแอ๊มีคุณสมบัติการตรวจจับชนิดไฟล์ที่มีประสิทธิภาพดังนั้นคุณสามารถใช้
ack -f --perl
ซึ่งจะค้นหาไฟล์ Perl ทั้งหมดขึ้นอยู่กับทั้งชื่อไฟล์ (* .pm, * .pl, * .t และ * .pod) และบรรทัด shebang
คุณทำได้ :
ack -f | ack "filename.ext"