คุณพูดถูกแล้ว -mtime 365จะเป็นไฟล์ทั้งหมดที่มีอายุ 365 วัน คุณต้องการคนที่มี 365 วันเก่าหรือมากขึ้นซึ่งหมายถึงการเพิ่มก่อนจำนวนเช่นนี้+-mtime +365
นอกจากนี้คุณยังอาจสนใจการ-maxdepth 1ตั้งค่าสถานะซึ่งป้องกันไม่ให้คุณย้ายรายการในไดเรกทอรีย่อย
หากคุณต้องการให้แน่ใจว่าคุณเป็นเพียงการย้ายไฟล์ไม่ใช่ไดเรกทอรีให้เพิ่ม-type fในบรรทัด
ในตอนท้ายของบรรทัดที่เราเพิ่ม\;เพื่อให้findรู้ว่าเป็นจุดสิ้นสุดของคำสั่งที่เรากำลังดำเนินการ
ดังนั้นบรรทัดควรเป็น:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec mv "{}" /destination/directory/ \;
หากต้องการอยู่อย่างปลอดภัยให้เริ่มต้นด้วยการทำ ls -l แทนที่จะเป็น mv วิธีที่คุณสามารถตรวจสอบล่วงหน้าว่าคุณได้รับไฟล์ที่คุณต้องการอย่างแท้จริงก่อนที่จะรันด้วย mv เช่นนี้:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec ls -l {} \;
mtimeเป็นเวลาแก้ไข (ซึ่งฟังดูเหมือนสิ่งที่คุณต้องการ - ส่วนใหญ่เป็นเวลา) หากมีการอ่าน / อ้างอิงบันทึกเหล่านี้บ่อยครั้งคุณอาจต้องการใช้-atime(เวลาเข้าถึงล่าสุด)