linux 查找文件夾下所有指定文件並重命名


工作中經常需要將某些文件的名字改為自己定義的名字,所以每次如果對方提供的文件有更新,那么需要自己手動修改,重復性的工作就要借助腳本的力量使其自動化。

直接上命令:

find . -name "*.bin" | xargs -i mv {} test.so

上述腳本會帶來一個問題,如果腳本所在目錄的子目錄下也有.bin文件,那么這個bin文件就會被移動到當前腳本所在目錄並且重命名為test.so,因為上述語句mv時會將找到的文件移動到當前目錄的。所以下面進行改進:

find . -name "*.bin" | while read name; do newname=$(dirname $name)/test.bin; mv $name $newname; done

這次我們保留了找到文件的目錄信息,重命名的時候帶上目錄信息即可,這樣所有找到的文件都在它原先的目錄下被重命名!bingo~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM