ฉันใช้คำสั่งต่อไปนี้เพื่อล้างไดเรกทอรีของไฟล์และไดเรกทอรีที่มีอายุมากกว่า 30 วันและย้ายไปยังไดเรกทอรีเก็บถาวรซึ่งฉันสามารถลบได้หลังจากสองสามสัปดาห์หากไม่มีใครขอไฟล์คืน ไดเรกทอรีเป้าหมายมีไดเรกทอรีย่อยตามชื่อผู้ใช้ดังนั้นไดเรกทอรีจะเก็บถาวร
นี่คือคำสั่งที่ฉันใช้:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
ผมแนะนำรุ่นล่าสุดนี้จะตอบคำถามเกี่ยวกับการขอให้อูบุนตูผู้ใช้อื่นแก้ไขรหัสเพื่อเปลี่ยนจุดสิ้นสุดของบรรทัด\;สำหรับ+เป็นมันเร็วขึ้น (และอื่น ๆ ถูกต้องหรือไม่) ดูที่นี่
อย่างไรก็ตามการใช้ +วิธีนี้ใช้ได้ถ้า-execคำสั่งนั้นls -lhไม่ใช่ในคำสั่งจริงที่ฉันใช้ ถ้าฉันลองด้วย+ฉันได้รับข้อความแสดงข้อผิดพลาด:
find: missing argument to '-exec'
ฉันไม่เข้าใจว่าทำไมมันทำงานแบบนี้หรือคำสั่งที่ถูกต้องจะเป็นอย่างไร โปรดอย่าเพิ่งโพสต์การแก้ไขคำสั่งฉันต้องการเข้าใจมากกว่าเพียงแค่ทำตามคำแนะนำอย่างสุ่มสี่สุ่มห้า
+ขัดแย้งหลายคำสั่งเดียวกัน แต่mvไม่สามารถรับมือกับที่!