1
A
回答
2
(bash)的這會發現所有的文件夾或當前目錄下的名稱中帶有下劃線並重新命名他們爲你提及:
for d in $(find . -name '*_*' -type d) ; do
new=$(echo $d | sed -e 's/_/ /g')
mv $d $new
done
+0
我用引號括住了$ d和$ new,它的確有竅門。謝謝。 – user860778
0
你可以嘗試像
#> ls -l | grep '^d' | awk '{oldname = $9 ; gsub(/_/, " " ,$9); print "mv " oldname " " $9 }' > temp.script
#> chmod 744 temp.script
#> ./temp.script
當然首先測試:)
0
您的系統是否有rename
命令可以滿足您的需求嗎?在某些系統中,它存在並可以使用一些正則表達式來進行更改。我用它使用Perl的正則表達式(Perl腳本,換句話說)版本:
find . -type f -name '*_*' -print0 | xargs -0 rename 's/_+/ /g'
在另一方面,在Linux標準版本趨於是通過比較而脆弱(不會做什麼你需要)。
請注意,如果您也想重命名目錄,請在重命名任何文件之前或重命名所有文件之後執行這些操作。將它們混淆意味着您的重命名會遇到訪問位於一個目錄中的文件名的問題,但自生成文件名後該目錄已重命名。即使使用-depth
作爲find
的選項也不保證是安全的。
相關問題
- 1. 窗口文件批量從空間重命名爲下劃線
- 2. 批處理文件來替換用下劃線空格的文件夾名稱
- 3. 批量重命名文件夾
- 4. 批量重命名文件夾
- 5. 批量重命名文件夾
- 6. 擊重命名文件以下劃線
- 7. 批量重命名文件夾到文件
- 8. 批量複製並重命名Bash中的幾個文件,使用下劃線
- 9. Windows批量重命名文件夾中的文件夾
- 10. 重命名批處理文件在UNIX
- 11. 批量重命名文件
- 12. 批量重命名文件
- 13. 重命名批量文件
- 14. 批量重命名文件
- 15. 批量重命名與文件夾名稱有關的文件
- 16. 使用文件夾名稱批量重命名文件?
- 17. 用空格將文件重命名爲所有子類中的下劃線
- 18. 將文件夾內的文件批量重命名爲父文件夾名稱
- 19. linux:如何批量重命名文件夾名稱和文件夾下的文件名稱
- 20. 批量遍歷子文件夾和重命名文件
- 21. cmd批量重命名子文件夾/文件
- 22. 批量重命名文件夾中的文件 - PHP
- 23. 批處理DOS - 重命名文件夾
- 24. 列出文件夾和批量命名
- 25. PowerShell命令批量重命名文件
- 26. 下命名命令(Perl和Unix shell)中的下劃線
- 27. 在UNIX終端中批量重命名文件
- 28. 批量重命名文件在UNIX和回滾
- 29. DOS批量重命名和旋轉文件夾名稱
- 30. 批量重命名圖像文件夾名稱+連續編號
確定嗎?文件名中的空格可能會導致一些麻煩。 Unix支持它們 - 並不是所有爲Unix編寫的工具都可以。 –
對閉幕者來說:這是一個合適的問題 - 它要求如何編寫一個shell腳本(一個程序)來完成特定的任務。如果你把它作爲另一個問題的副本來結束,你會從我那裏得到更多的同情。 –
我實際上在Google上發現了這一點,尋找相反的任務(空格來強調) - 這對我很有用! – VMDX