ย้ายโฟลเดอร์ย่อยไปยังโฟลเดอร์อื่น


0

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

ด้านล่างนี้เป็นคำสั่งที่ฉันใช้เพื่อทำ

find /location/logarchive -mtime +1 -type d -exec mv "{}" /Destination/Archives \;

คำสั่งนี้กำลังย้ายไดเรกทอรีหลักเช่น logarchive ไปยังปลายทางแทนโฟลเดอร์ย่อย

คุณช่วยฉันแก้ไขคำสั่งนี้ได้ไหม

คำตอบ:


0

คุณต้องเพิ่มด้วย -mindepth 1 ในคำสั่งของคุณเพื่อไม่ให้รวมไดเรกทอรีจริงที่คุณระบุไว้ในตอนแรก

find /location/logarchive -mindepth 1 -mtime +1 -type d -exec mv "{}" /Destination/Archives \;

คุณอาจต้องการเพิ่ม -maxdepth 1 หากคุณไม่ต้องการหักเงินคืนในโฟลเดอร์ย่อยซึ่งจะสมเหตุสมผลที่นี่เนื่องจากมีอยู่ในโฟลเดอร์ระดับบน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.