ใช้สิ่งนี้: (สามารถเรียงลำดับทำงานกับชื่อไฟล์ด้วยช่องว่างหรืออักขระที่ผิดปกติ)
find . -name *foo* -print0 | xargs -0 ls -lah
"-print0" หมายถึงชื่อไฟล์เช่นfile foo 1
จะได้รับผลลัพธ์จากการfind
ตามด้วย null อาร์กิวเมนต์ "-0" ถึง xargs บอกให้คาดหวังอินพุตประเภทนี้ดังนั้นชื่อไฟล์ที่มีช่องว่างจะถูกไพพ์ไปยังls
คำสั่งอย่างถูกต้อง
การxargs
ก่อสร้างในบางวิธีดีกว่าfind etc -exec ls {} \;
เพราะชื่อไฟล์ทั้งหมดถูกส่งไปls
ในครั้งเดียวดังนั้นหากคุณต้องการเรียงลำดับพวกเขาทั้งหมดด้วยการประทับเวลา (โดยใช้ls
) สิ่งที่คล้ายกับงานนี้:
find . -iname *pdf -print0 | xargs -0 ls -ltr
บนระบบ NetBSD "-printx" ก็เป็นตัวเลือกเช่นกัน (นี่เป็นอาร์กิวเมนต์ที่มีประโยชน์สำหรับฉัน แต่ไม่ว่าอะไรก็ตามเรามี xargs -0 และมันก็โอเค):
find . -name *foo* -printx | xargs ls -lah
(ไม่ใช่สำหรับ Ubuntu)