การค้นหาไฟล์ที่คำสั่งล้มเหลว


26

ฉันต้องการค้นหาไฟล์ทั้งหมดซ้ำที่สคริปต์ซึ่งยอมรับไฟล์เนื่องจากอาร์กิวเมนต์ส่งคืนค่าที่ไม่เป็นศูนย์ มีความคิดวิธีการทำเช่นนี้โดยใช้ 'ค้นหา' หรือเครื่องมือที่คล้ายกัน?

คำตอบ:


38

findของ-execการกระทำที่สามารถนำมาใช้สำหรับการนี้:

find . \! -exec yourscript {} \; -print

จะพิมพ์ชื่อของไฟล์ทั้งหมดที่yourscriptล้มเหลว

-execสามารถใช้วิธีนี้เพื่อเปลี่ยนคำสั่งภายนอกที่เหมาะสมเป็นการfindทดสอบ

คุณสามารถ จำกัด ไฟล์ที่ได้รับการทดสอบโดยการเพิ่มfindการทดสอบก่อน-exec; ตัวอย่างเช่นหากต้องการ จำกัด ผู้สมัครเป็นไฟล์ปกติให้เพิ่ม-type f:

find . -type f \! -exec yourscript {} \; -print

8
เท่ากันใช้(หรือ):-o find . -exec yourscript {} \; -o -print
John Kugelman สนับสนุน Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.