จะย้ายไฟล์ที่เก่ากว่า X ไปยังโฟลเดอร์อื่นได้อย่างไร?


14

ฉันจะย้ายไฟล์ที่เก่ากว่า 30 วันจากโฟลเดอร์/storage/current/dbdumps/ไปยังได้/storage/archive/dbdumpsอย่างไร

ฉันเหนื่อย:

find /storage/current/dbdumps/ -type f -mtime +30 -exec mv '{}' /storage/archive/dbdumps \;

แต่ดูเหมือนว่าจะไม่ถูกต้องใน Ubuntu 11.04


2
ข้อความแสดงข้อผิดพลาดคืออะไร
enzotib

คำตอบ:


15

ดูเหมือนว่าคำสั่งจะใช้ได้และใน 11.10 ของฉันก็ใช้งานได้ คุณไม่พลาดเครื่องหมายทับต่อท้ายในโฟลเดอร์ปลายทางหรือไม่

find /storage/current/dbdumps/ -type f -mtime +30 -exec mv '{}' /storage/archive/dbdumps/ \;

สิ่งอื่นที่คุณอาจลองใช้/bin/mvก็แค่mvใช้


5

คุณสามารถลองรุ่นนี้ (ใช้งานได้ใน 11.10 ฉันเดาว่ามันจะทำงานในเวอร์ชันอื่นด้วย :)):

find /storage/current/dbdumps/ -type f -mtime +30 -print | xargs -I {} mv "{}" /storage/archive/dbdumps

1
คุณควรใช้อัญประกาศประมาณ {} หลัง mv เนื่องจากไฟล์อาจมีหรือไม่มีช่องว่าง ฯลฯ ฉันจะส่งการค้นพบไปแล้ว xargs -I{} mv "{}" /storage/archive/dbdumps/
Iesus Sonesson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.