linux文件名批量修改
利用rename命令,實現批量重命名效果。注意:需要到需要修改的文件路徑下執行,無法實現文件下所有子路徑都執行批量修改,只會修改當前路徑的文件名
1、沒有rename的需要安裝rename
debain/ubuntu:
apt install rename
centos:
yum install rename
2、rename命令執行例子,-n預覽執行效果(不是真修改),-v執行命令(真修改)
例子:
將文件名中的a1批量修改成a2:
rename -v 's/a1/a2' *
如將文件1.mp4修改成文件2.mp4
renmae -v ‘s/1/2' *.mp4
將文件名中的空格刪除
rename -v 's/[ ]+//g' *
將文件名中、刪除
rename -v 's/、//' *
將文件名中的英文大寫改成小寫(最好在*後面加上文件後綴,避免文件後綴也被替換,導致無法使用的問題)
rename -v 'y/A-Z/a-z/' *
將文件名中的英文小寫改成大寫(最好在*後面加上文件後綴,避免文件後綴也被替換,導致無法使用的問題)
rename -v 'y/a-z/A-Z/' *
在文件名的開頭加入字符串a1
rename 's/^/a1/' *
在文件名的末尾加入字符串a1
rename 's/$/a1/' *
多個rename可以用&&連接,如:刪除文件名中空格和中文標點、的命令:
rename -v 's/[ ]+//g' *&&rename -v 's/、//' *
解決子目錄無法全部修改問題,參考:
Linux批量修改文件名(二):