ไม่รวมไดเร็กทอรีเมื่อค้นหาบน Linux

ค้นหาค้นหา

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

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

เพื่อหลีกเลี่ยงปัญหานี้คุณสามารถทำบางสิ่งได้เช่น ยกเว้นบางไดเรกทอรี ของการค้นหาเพื่อไม่ให้รบกวนเวลา และสำหรับสิ่งนั้นเราจะใช้คำสั่ง find เช่นเดียวกับในบทช่วยสอนอื่น ๆ ที่ฉันทิ้งไว้เมื่อนานมาแล้วใน LxA และฉันอ้างถึงในลิงก์ในย่อหน้าแรก

หากต้องการยกเว้นไดเรกทอรีจากการค้นหาและประหยัดเวลาสิ่งที่คุณทำได้คือใช้ ตัวเลือก -prune โดย find. ตัวอย่างเช่นสมมติว่าคุณต้องการค้นหาไฟล์ที่เรียกว่า แอลซ่า ด้วยนามสกุลใด ๆ ในไดเร็กทอรีปัจจุบัน แต่คุณต้องการค้นหาทุกที่ยกเว้นไดเร็กทอรีที่มีชื่อ pruebaเพราะคุณรู้ว่ามันจะไม่อยู่ที่นั่น ดังนั้นคุณควรเรียกใช้สิ่งต่อไปนี้:

find . -path './prueba' -prune -o -name 'lxa.*'

นั่นคือในกรณีนี้คุณกำลังขอให้ค้นหาเพื่อค้นหาในไดเร็กทอรีปัจจุบัน (.) ไฟล์ที่เรียกว่า แอลซ่า ด้วยนามสกุลใด ๆ แต่ในกรณีนี้ไดเร็กทอรีจะไม่รวมอยู่ด้วย ./proof.

อย่างที่คุณเห็น, find เป็นคำสั่งที่มีประสิทธิภาพในการค้นหาแต่ก็มีความยากลำบากเนื่องจากตัวเลือกและพารามิเตอร์จำนวนมากที่สามารถยอมรับเพื่อกรองการค้นหา ...


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา