我在一个目录中有很多文件。它们都有如下名称:
APP_001.gif
APP_101.gif
我怎样才能将它们批量重命名为
01.gif
101.gif
即去掉之前的前缀_
,然后删除第一个前导零?
谢谢!
答案1
for file in APP_*.gif; do
new=${file#APP_}
new=${new#0}
mv "$file" "$new"
done
答案2
shopt -s extglob; for f in in APP_*.gif; do mv "$f" "${f##app_?(0)}"; done
答案3
如果实际名称并不重要,而只是希望所有照片都有唯一且有条理的名称,您可以打开自动化程序并创建以下自动化程序操作。
这是我所做的,然后将其保存为服务(假设您有 10.6,snow leopard),然后您可以在 finder 中选择任何文件组,右键单击并选择。此版本提示用户输入每个文件的前缀,然后使用该值(有关在自动操作中引用变量的说明这里),但您也可以单独使用重命名操作对文件进行顺序编号。