好吧,我是Ubuntu的新手。我有20萬個文件需要經過並存檔30天內未更新的文件。複製並刪除
find . -type f -mtime +30
完成。
然後我需要將它們複製到一個位置,同時保持它們的dir結構超過當前./這是因爲文件結構是每個文件唯一性的一部分。我可能有200個文件稱爲和然而FunRun/Sum和Smoke/Sum是兩個不同的東西。
find . -type f -mtime +30 -exec cp --parents '{}' /home/me/backup \;
完成。但是這並不會刪除它們......嗯,mv是帶有刪除的cp。但MV沒有 - 父母切換。
所以,我想
find . -type f -mtime +30 -exec cp --parents '{}' /home/me/backup \; && rm
for file in 'find . -type f -mtime +30' do sudo cp $file --parents '{}' /home/me/backup \; && sudo rm $file; done
沒有去。所以我正在創建一個文件列表並使用它像舊學校批處理文件。問題是該列表需要很長時間才能完成,我希望將此過程自動化。所以我搜索並測試了沒有工作。所以無論是單行的bash腳本都是一個失敗的原因,需要編寫一個python腳本來完成它,或者你們可以提供幫助。所以我想我會在這裏問一下,看看週末過得如何,並在週一進行測試。
感謝您的幫助。
那是最後的 「所以,我想」 兩個獨立的命令?在第一個問題中,你在哪裏期待「rm」的參數來自哪裏?你爲什麼在第二個中添加'sudo'? 「for」中的';'或換行符在哪裏?你希望'{}'從第二行開始,你爲什麼在你已經有'$ file'時想要什麼? (另外,爲什麼不在任何地方引用?) – abarnert 2014-11-22 01:07:46
是的,它是兩個單獨的命令。 我添加了sudo,因爲當我嘗試複製它時,我得到您需要根級訪問錯誤。至於其他我試圖學習,並試圖讓它在我的測試服務器上工作。 – user1519219 2014-11-26 17:40:44