
如何批次替換多個檔案的後綴?
我有很多文件,例如
NameSomthing-min.png
NameSomthing1-min.png
NameSomthing2-min.png
我想將它們全部更改為
NameSomthing.png
NameSomthing1.png
NameSomthing2.png
-min
即,從名稱中刪除字元。我該怎麼做?
答案1
該腳本可能會有所幫助:
for file in *-min.png; do
echo mv "$file" "${file%-min.png}.png"
done
刪除回顯以實際執行命令。
答案2
這取決於你的外殼。我使用zsh
,這就是我這樣做的方式:
for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done
我建議您查看 shell 的線上說明頁,並查看類似於“參數擴展”的部分(在zsh
手冊頁)。
bash
類似的解決方案也可用於其他 shell(您沒有指定使用哪一種)。
請注意,您的特定解決方案始終取決於數據和您的目標。如果您想刪除名稱和後綴之間的“-”作為分隔符,則可以這樣做。如果沒有,您可能需要稍微調整參數擴充。