我想重命名文件夾中的所有文件並添加.xml
擴展名。我正在使用Unix。我怎樣才能做到這一點?如何將.xml擴展名添加到Unix/Linux中的文件夾中的所有文件
回答
在外殼上,你可以這樣做:
for file in *; do
if [ -f ${file} ]; then
mv ${file} ${file}.xml
fi
done
編輯
要做到這一點遞歸所有子目錄,你應該使用find
:
for file in $(find -type f); do
mv ${file} ${file}.xml
done
另如果你要做比這更復雜的任何事情,你可能不應該使用shell
腳本。
更妙
使用由以下Jonathan Leffler提供的評論:
find . -type f -exec mv {} {}.xml ';'
在的Python:
使用os.listdir
找到目錄中的所有文件的名稱。如果您需要遞歸地查找子目錄中的所有文件,請改爲使用os.walk
。它的API比os.listdir
更復雜,但它提供了遞歸遍歷目錄的強大方法。
然後使用os.rename
重命名文件。
一些示例代碼或示例或鏈接。我不知道python – aWebDeveloper
@Web開發人員:你剛剛-1爲我提供答案嗎?真的嗎? –
不,我錯誤地點擊它,我立即撤消它 – aWebDeveloper
不知道這是否是標準的,但我的Perl
包(於Debian/Ubuntu)包括/usr/bin/prename
(和一個符號鏈接只是rename
)沒有其他目的:
rename 's/$/.xml/' *
我如何在所有子目錄上遞歸地執行它,但不在.xml文件上。即沒有重命名爲 – aWebDeveloper
的文件使用'$(find -type f)'而不是'*'。並使用斷言's /(?<!\。xml)$ /。xml /' – mario
來修改正則表達式。您可以使用帶-n標誌的重命名來測試重命名的方式,而不實際重命名文件。 –
find . -type f \! -name '*.xml' -print0 | xargs -0 rename 's/$/.xml/'
- 1. 將R中的文件擴展名添加到多個文件
- 2. 如何將擴展名添加到列表中的所有文件
- 3. 遞歸添加文件擴展名到所有文件
- 4. 如何將文本添加到文件夾中所有文件的開頭?
- 5. python追加文件夾名稱到所有子文件夾中的文件名
- 6. 將具有特定擴展名的所有文件的名稱存儲在字符串中的文件夾中?
- 7. Multer沒有添加文件擴展名
- 8. Chrome擴展 - manifest.json加載文件夾中的所有js
- 9. 終端命令(Mac)更改文件夾中所有文件的擴展名
- 10. 如何將文件擴展名添加到ignore-on-commit svn changelist?
- 11. 如何將特定文件夾中的所有文件名添加到我的列表中?
- 12. 如何將某個文件夾下添加所有的文件名使用Java
- 13. 更改目錄中所有文件的文件擴展名OSX
- 14. 如何將java類添加到jar文件中的文件夾
- 15. 如何將文件添加到XCode中的資源文件夾?
- 16. 如何查看目錄中的所有文件夾以更改excel文件的文件擴展名?
- 17. 如何找到所有獨特的文件擴展名在Java中找到文件夾層次結構
- 18. 如何將文件添加到SVN的現有文件夾?
- 19. 如何添加和更改目錄中文件的擴展名?
- 20. 將文件名的列添加到目錄中的所有文件中
- 21. 如何將現有文件添加到Xcode4中的資源文件夾中
- 22. 如何將符號添加到文件夾中的每個文件名?
- 23. 我怎麼能沒有文件擴展名到數組中的所有文件
- 24. 在文件夾中找到一個具有特定擴展名的文件
- 25. 如何在下載文件時向文件添加擴展名?
- 26. 如何在文件夾層次結構中找到所有不同的文件擴展名?
- 27. 將文件夾中的所有文件路徑添加到字符串數組
- 28. Xcode - 自動將文件夾中的所有文件添加到目標
- 29. 如何根據文件名和/或擴展名檢索文件夾的所有文件大小?
- 30. 如何擴展名的文件添加到VSIX MEF編輯器擴展
這些標籤會造成混淆。你想在PHP,Python或Unix shell中做到這一點嗎? – rds
重命名's/$/\。xml /'*參考:http://askubuntu.com/a/74368 – Neil