ค้นหา Spotlight ตามเส้นทางแบบเต็ม?


4

เมื่อทำการค้นหาด้วย Spotlight ไม่ว่าจะผ่านการค้นหาหรือผ่านคำสั่งเทอร์มินัลเป็นไปได้หรือไม่ที่จะกรองผลลัพธ์กับเส้นทางแบบเต็มของไฟล์หรืออย่างน้อยชื่อของโฟลเดอร์หลัก

เหตุผลที่ฉันต้องสามารถกรองตามเส้นทางแบบเต็มได้แม้ว่าฉันจะค้นหาไฟล์จริง แต่ฉันต้องการส่งคืนไฟล์ที่พบในโฟลเดอร์ที่ตรงกับรูปแบบเฉพาะเท่านั้น

ตัวอย่างเช่นลองพิจารณาว่าฉันมีไฟล์หลายไฟล์ที่มีโครงสร้างดังนี้:

Jobs
    Foo Poster
        Preview.jpg
        Final.psd
    Bar Poster
        Preview.png
        Final.psd
    Foo Banner
        Preview.jpg
        Final.psd

นี่เป็นตัวอย่างที่เรียบง่าย แต่ควรพิจารณาแล้วว่าฉันต้องการค้นหาภาพตัวอย่างทั้งหมดที่พบในโฟลเดอร์ที่มี "โปสเตอร์" ในชื่อเท่านั้น

ฉันสามารถทำได้findโดยใช้สิ่งที่ชอบ:

 find /path/to/Jobs -ipath *poster/preview*

อย่างไรก็ตามสิ่งที่ฉันชอบจริงๆคือวิธีการทำสิ่งนี้โดยใช้ Spotlight ไม่เพียง แต่สำหรับความเร็ว แต่ยังรวมถึงตัวเลือกการค้นหาเพิ่มเติมที่มีให้ (ฉลากขนาดภาพ ฯลฯ )

เป็นไปได้ที่จะทำเช่นนี้? ฉันรู้ว่าฉันสามารถ จำกัด การค้นหาไว้ที่โฟลเดอร์เดียว แต่นี่ไม่ได้ใช้เพราะสิ่งที่ฉันต้องการจริงๆคือการค้นหาโฟลเดอร์ที่ตรงกับรูปแบบจากนั้นค้นหาในไฟล์จริง

ฉันพบตัวเลือก Document Container ใน GUI การค้นหาของ Finder แต่ดูเหมือนว่าจะไม่ทำงานอย่างที่ฉันคาดไว้ ดูเหมือนว่าฉันควรจะจับคู่กับโฟลเดอร์พาเรนต์ของเอกสาร แต่ดูเหมือนจะไม่เป็นเช่นนั้น

สมมติว่าไม่สามารถทำได้ด้วย Finder's GUI โดยตรง (เช่น - ต้องใช้คำสั่ง Spotlight terminal) ฉันจึงอยากจะสร้างโฟลเดอร์อัจฉริยะได้ถ้าเป็นไปได้

คำตอบ:


3

สิ่งนี้เป็นไปไม่ได้เมื่อใช้ Spotlight เพียงอย่างเดียว Spotlight ไม่ทำดัชนีพา ธ ไฟล์เป็นคุณสมบัติของไฟล์ ดังนั้นจึงเป็นไปไม่ได้ที่จะใช้เส้นทางเป็นเกณฑ์การค้นหา

คุณสามารถใช้ mdfind ที่บรรทัดคำสั่งเพื่อค้นหาดัชนี Spotlight ด้วยพารามิเตอร์ -onlyin คุณสามารถชี้ไปที่ด้านบนของลำดับชั้นโฟลเดอร์ของคุณ คุณสามารถกรองผลลัพธ์ที่ส่งคืนโดยใช้ grep

mdfind -onlyin ~/Downloads/ 'kMDItemContentTypeTree == "public.image"cd' | grep '.*/test.*/.*'

หากคุณต้องการความช่วยเหลือในการสร้างแบบสอบถามสำหรับ mdfind, มีลักษณะที่HoudahSpot คุณสามารถตั้งค่าเกณฑ์การค้นหาได้ที่นั่น จากนั้นไปที่ Window> Raw Query เพื่อค้นหาสตริงการค้นหา Spotlight ที่คุณสามารถใช้กับ mdfind

ในขณะที่ HoudahSpot คุณสามารถใช้ความสามารถในการกรองผลการค้นหา เหนือผลการค้นหาคุณจะพบช่องค้นหาที่อนุญาตให้กรอง / แยกตามชื่อ / พา ธ ที่นี่คุณสามารถใช้เครื่องหมายดอกจันเป็นสัญลักษณ์แทน

การเปิดเผยแบบเต็ม: ฉันเป็นผู้พัฒนา HoudahSpot


ดังนั้นจึงไม่มีวิธีใดที่จะทำให้สิ่งนี้เป็นรูปแบบของ Smart Folder ใช่ไหม? ฉันอาจจะได้รับจากการใช้โซลูชันสคริปต์และเพียงสร้างโฟลเดอร์ที่เต็มไปด้วยฮาร์ดลิงก์และรีเฟรชเป็นระยะ ๆ บิตของรายการสยองขวัญ แต่มันจะมองเห็นได้สำหรับการอ่านผ่านสายตาอย่างน้อย!
Haravikk

อืมสปอตไลท์มีตัวกรอง Raw Query ฉันใช้มันเพื่อค้นหาไฟล์ที่มีแท็กใด ๆ บนพวกเขาจัดกลุ่มพวกเขาทั้งหมดเข้าด้วยกัน แน่นอนว่าเราจะต้องรวม grep ลงในแบบสอบถามอย่างใด
SilverWolf

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