จะค้นหาไฟล์ที่มีคำเฉพาะได้อย่างไร
จะค้นหาไฟล์ที่มีคำเฉพาะได้อย่างไร
คำตอบ:
ด้วยบรรทัดคำสั่งคุณมีหลายตัวเลือก 3 ฉันใช้มากที่สุดคือ ...
locate {part_of_word}
สิ่งนี้ถือว่าฐานข้อมูล locator ของคุณเป็นข้อมูลล่าสุด แต่คุณสามารถอัปเดตสิ่งนี้ด้วยตนเองด้วย: sudo updatedb
grep
ตามที่อธิบายโดย dr_willis หนึ่งคำพูด: -R
หลังจากgrep
ค้นหาในไดเรกทอรีด้วย ตัวอย่าง:
cd\
grep -R {something_to_look_for} {where_to_look_in}
find . -name '*{part_of_word}*' -print
ที่ไหน.
เป็นไดเรกทอรีที่คุณอยู่ในขณะนี้และ*
เป็นสัญลักษณ์แทน
โอ้และคุณยังสามารถรวมสิ่งเหล่านี้ ตัวอย่าง:
locate {something}|grep {some_part_of_something}|more
ถ้าฉันจำได้ถูกต้อง: locate
เป็นฐานข้อมูลที่เร็วที่สุด (สมมติว่าฐานข้อมูลของคุณเป็นรุ่นล่าสุด) และfind
ช้าที่สุด และgrep
มีความซับซ้อนมากที่สุด แต่ก็มีความหลากหลายมากที่สุดเนื่องจากคุณสามารถใช้ regexes ได้
grep -R "อะไร" "ที่ไหน"
ตัวอย่าง:
grep -R hello /home
คำสั่ง grep ใช้กันโดยทั่วไปสำหรับสิ่งนี้
รูปแบบชื่อไฟล์ grep
และ grep สามารถทำการค้นหาที่ซับซ้อนมากได้
willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
คุณสามารถใช้grep
เพื่อแสดงรายการไฟล์ที่มีword
อยู่ในdirectory
:
grep -Ril word directory
ที่นี่:
* -R
ค้นหาไฟล์ซ้ำในไดเรกทอรีย่อย
* -i
ละเว้นกรณีข้อความ
* -l
แสดงชื่อไฟล์แทนส่วนเนื้อหาไฟล์ (หมายเหตุ: -L
แสดงชื่อไฟล์ที่ไม่มีคำ)
ใช้man grep
เพื่อรับตัวเลือกทั้งหมด
-i
ทำการค้นหาแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก