สมมติว่าฉันต้องการลบไฟล์ทั้งหมดในโฟลเดอร์ที่มีขนาดใหญ่กว่า 1 MB
$ find . -size +1M | xargs -0 rm
นี่จะไม่ลบไฟล์ที่มีพื้นที่ว่างในชื่อ rm
ดังนั้นผมจึงต้องการที่จะพูดขัดแย้งทั้งหมดส่งไปยัง ถ้าfind
ให้มันSome report.docx
มันควรจะผ่านไป"Some report.docx"
rm
ฉันจะทำสิ่งนั้นได้อย่างไร
ใช้
—
imz - Ivan Zakharyaschev
xargs -d$'\n'
เพื่อ จำกัด ตัวคั่นไปยังบรรทัดใหม่เท่านั้น (และไม่เว้นช่องว่างนี่จะไม่ประมวลผลคำพูดและอื่น ๆ เป็นพิเศษ - ฉันได้ตรวจสอบระบบ GNU แล้ว) - คำตอบที่ให้ไว้ในstackoverflow.com/a/33528111/94687
xargs
ก่อนที่จะทำอะไรกับ ยังเป็นที่วิกิพีเดียที่แสดงให้เห็นไม่ได้ใช้xargs
โดยไม่ต้องผ่านการ-print0
find