如何批量替换多个文件的后缀?
我有很多文件,例如
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(您没有指定使用哪一种)。
请注意,您的特定解决方案始终取决于数据和您的目标。如果您想删除名称和后缀之间的“-”作为分隔符,则可以这样做。如果没有,您可能需要稍微调整参数扩展。