我有多个名称格式不一致的照片文件。
我不想重命名扩展名,而是将列表中的第一个.jpg重命名为1.jpg,第二个2.jpg,第三个3.jpg等。如何使用一个命令执行此操作?
只需在shell中使用循环即可:
for x in * ; do mv -- "$x" "$((i=i+1)).jpg" ; done
我们一次查看一次当前目录中的每个文件,将其称为x
,然后将其移至$i.jpg
,我们$i
每次将其递增一。$((...))
是算术扩展,赋值返回分配的值,因此i
每次都修改并返回新的数字。
如果要多次执行此操作(例如在其他目录中),则需要在两个目录之间重置计数器:只需说一下i=0
,或将其放在i=0;
命令的开头即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句