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