ค้นหาไฟล์ข้อความใน Mac OS X


67

มีวิธีการค้นหาไฟล์ข้อความทั้งหมดในโฟลเดอร์ (และโฟลเดอร์ย่อย) สำหรับสตริงหรือบิตข้อความเฉพาะใน Mac OS X หรือไม่?

คำตอบ:


25

คุณไม่สามารถทำได้จากไอคอนสปอตไลต์ในแถบเมนู แต่คุณสามารถทำได้ด้วยสปอตไลท์:

  1. นำทางไปยังโฟลเดอร์ในเครื่องมือค้นหา

  2. พิมพ์การค้นหาของคุณในแถบค้นหาที่ด้านบนขวาของโฟลเดอร์

  3. มีบรรทัดเหนือผลลัพธ์ที่ระบุว่า:

ค้นหา: Mac เครื่องนี้ "ชื่อโฟลเดอร์ของคุณ"

คลิกที่ชื่อโฟลเดอร์ของคุณเพื่อ จำกัด การค้นหาไปยังโฟลเดอร์แทนคอมพิวเตอร์ทั้งหมดซึ่งเป็นตัวเลือกเริ่มต้น "Mac เครื่องนี้"

จากนั้นคลิกที่ไอคอนรูปเฟืองเลือกแสดงเกณฑ์การค้นหาและเปลี่ยนชนิดเป็นไฟล์ข้อความ


1
น่าเสียดายที่สิ่งนี้ดูเหมือนว่าจะทำหรือไม่และและสัญลักษณ์บางอย่างถูกตัดออกจากข้อความค้นหาที่ฉันคิดว่า
Aram Kocharyan

คุณจำเป็นต้องสร้างดัชนีโฟลเดอร์ของคุณก่อนหรือไม่?
jokoon

ไม่มีตราบใดที่โฟลเดอร์นั้นถูกจัดทำดัชนีตามปกติโดยปอตไลท์
ridogi

5
@Aram คุณคิดวิธีการทำ "AND" หรือไม่? ฉันกำลังค้นหาคำว่า "แมวของฉัน" และมันกำลังค้นหาทุกอย่างที่มี "ของฉัน" หรือ "แมว" หรือ "ถุงมือ" และไม่ใช่วลีที่แน่นอนของฉัน แก้ไข - เพิ่มเครื่องหมายคำพูดรอบ ๆ
1.21 gigawatts

90

หากคุณต้องการบรรทัดคำสั่ง

grep "my string of text" -R .

คุณจะต้อง (หรือได้รับ) grepคุ้นเคยกับ อ่านman grepข้อมูลเพิ่มเติม


2
ใน .profile function findtext() { grep -ri "$1" . }ของฉันฉันสร้างผู้ช่วยนี้: ฉันใช้แบบนี้: findtext totoฉันต้องการเริ่มค้นหาที่ไหน
Maxence

ยังไม่ได้ทำงานจนถึง ...
Marcelo Filho

1
ข้อเสียคือมันใช้งานได้ช้ามาก grepping ในข้อความประมาณ 50GB ช้าลงอย่างเจ็บปวด
utkarsh dubey

1
หมายความว่าอะไร: grep: คำเตือน: การค้นหาแบบเรียกซ้ำของ stdin
SuperUberDuper

@SuperUberDuper หมายความว่าคุณพลาดการติดตาม "." (เช่นคุณไม่ได้ระบุไดเรกทอรี)
user664303


5

ที่มุมขวาบนของหน้าจอ: Spotlight

BBEditรองรับการค้นหาที่ยอดเยี่ยมเช่นกันในไฟล์และโฟลเดอร์


BBEdit ตอนนี้ TextWrangler และยังคงรวมการค้นหา grep หลายไฟล์ที่ยอดเยี่ยม
ฟิล

BBEdit เป็นเพียง BBEdit, TextWrangler เป็นเพียง TextWrangler BBEdit ขยายเพิ่มเติมเล็กน้อยกว่า TextWrangler TextWrangler ฟรีเช่นเดียวกับเบียร์ฟรี
CousinCocaine

4
mdfind 'kMDItemTextContent="*text*"c' -onlyin ~/Notes/

cไม่สนใจเคส ดูคำตอบนี้สำหรับภาพรวมของที่รูปแบบแบบสอบถามและคุณลักษณะอื่น

grep -F what? -l -r ~/Notes --include *.txt

-Fค้นหาสตริงคงที่แทนที่จะเป็น regex -lพิมพ์ชื่อไฟล์ที่ตรงกันเท่านั้น


ดีมากเร็วมากแข็งมาก mdfind 'kMDItemTextContent="*text*"c' -onlyin ~/Notes/
YumYumYum

1

เปิด Finder

ป้อนคำอธิบายรูปภาพที่นี่

นำทางไปยังโฟลเดอร์ที่คุณต้องการค้นหาหากมี

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำที่คุณต้องการค้นหาในแถบค้นหาที่มุมบนขวา คุณอาจต้องยืดหน้าต่างออกเพื่อดู

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากคุณเริ่มพิมพ์หรือกด Enter คุณจะเห็นส่วนใต้ช่องค้นหาทางด้านซ้ายที่ระบุว่า

ค้นหา: Mac เครื่องนี้ " โฟลเดอร์ของคุณ " ถูกแชร์

หากคุณต้องการค้นหาทั้งคอมพิวเตอร์คลิกที่ "Mac เครื่องนี้" มิฉะนั้นคลิกที่ชื่อโฟลเดอร์ถัดจากมัน มันอาจจะถูกเลือกแล้ว

ป้อนคำอธิบายรูปภาพที่นี่

ทางด้านขวาของตัวเลือกเหล่านั้นคือปุ่ม "บันทึก" ที่มีเครื่องหมายบวกอยู่ข้างๆ

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่เครื่องหมายบวก คุณจะเห็นรายการแบบหล่นลงสองรายการ ในอันแรกเลือก "ชนิด" ในวินาทีเลือก "ใด ๆ " หรือ "ข้อความ

ป้อนคำอธิบายรูปภาพที่นี่

การเลือก "ใด ๆ " อาจพบรายการที่ตรงกันเพิ่มเติมในขณะที่ "ข้อความ" จะค้นหาไฟล์ที่ Mac OS X กำหนดอยู่ภายใต้หมวดหมู่ "ข้อความ"

จำนวนผลลัพธ์การค้นหาจะปรากฏที่ท้ายกระดาษหากแสดงส่วนท้าย

FYIฉันสังเกตเห็นว่าบางครั้งต้องใช้เวลาในการทำการค้นหาและบางครั้งไม่มีตัวบ่งชี้ตัวค้นหากำลังทำอะไร ฉันจะไม่รอนานเกินไป แต่ถ้าคุณกำลังค้นหาโฟลเดอร์เล็ก ๆ มันน่าจะเร็วมาก หากค้นหา Mac ของคุณอาจใช้เวลาประมาณหนึ่งนาทีหรือนานกว่านั้น

หมายเหตุ:หากต้องการค้นหาวลีที่ถูกต้องให้ใส่ไว้ในเครื่องหมายคำพูด


1

ฉันขอแนะนำให้คุณดูที่File Content FinderในApp Store (ข้อจำกัดความรับผิดชอบ - ฉันเป็นผู้พัฒนา) มันเป็นแอพราคาไม่แพงออกแบบมาโดยเฉพาะสำหรับการค้นหาเนื้อหาไฟล์โดยไม่ต้องจัดทำดัชนี มันรองรับไฟล์ข้อความและอื่น ๆ รูปแบบไฟล์ที่สำคัญ (PDF, doc (x), XLS (x) ฯลฯ )

การกรองช่วยให้คุณสามารถปรับแต่งและปรับแต่งการค้นหาของคุณได้หลายเกณฑ์ - ประเภทไฟล์วันที่สร้าง / แก้ไข ฯลฯ

นี่คือเอกสารรายละเอียดเกี่ยวกับวิธีการทำงาน


0

สำหรับความเร็วในการค้นหาที่เร็วขึ้นคุณสามารถใช้ag(เครื่องมือค้นหาซิลเวอร์)

การติดตั้ง: brew install the_silver_searcher

การใช้งานเหมือนกันเพียงแค่เปลี่ยนgrepไปag

ตัวอย่างเช่น,

ag "my string of text" -R .

ข้อมูลเพิ่มเติมสามารถดูได้ที่Github

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