จะค้นหาไฟล์ที่มีคำเฉพาะได้อย่างไร
จะค้นหาไฟล์ที่มีคำเฉพาะได้อย่างไร
คำตอบ:
ด้วยบรรทัดคำสั่งคุณมีหลายตัวเลือก 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ทำการค้นหาแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก