ฉันต้องการค้นหาไฟล์ทั้งหมดซ้ำที่สคริปต์ซึ่งยอมรับไฟล์เนื่องจากอาร์กิวเมนต์ส่งคืนค่าที่ไม่เป็นศูนย์ มีความคิดวิธีการทำเช่นนี้โดยใช้ 'ค้นหา' หรือเครื่องมือที่คล้ายกัน?
ฉันต้องการค้นหาไฟล์ทั้งหมดซ้ำที่สคริปต์ซึ่งยอมรับไฟล์เนื่องจากอาร์กิวเมนต์ส่งคืนค่าที่ไม่เป็นศูนย์ มีความคิดวิธีการทำเช่นนี้โดยใช้ 'ค้นหา' หรือเครื่องมือที่คล้ายกัน?
คำตอบ:
findของ-execการกระทำที่สามารถนำมาใช้สำหรับการนี้:
find . \! -exec yourscript {} \; -print
จะพิมพ์ชื่อของไฟล์ทั้งหมดที่yourscriptล้มเหลว
-execสามารถใช้วิธีนี้เพื่อเปลี่ยนคำสั่งภายนอกที่เหมาะสมเป็นการfindทดสอบ
คุณสามารถ จำกัด ไฟล์ที่ได้รับการทดสอบโดยการเพิ่มfindการทดสอบก่อน-exec; ตัวอย่างเช่นหากต้องการ จำกัด ผู้สมัครเป็นไฟล์ปกติให้เพิ่ม-type f:
find . -type f \! -exec yourscript {} \; -print
-ofind . -exec yourscript {} \; -o -print