我有一组文件,扩展名不一定相同。这些文件是由Python脚本创建的,该脚本迭代一些文件(比如x.jpg、y.jpg和z.jpg),然后用零填充对它们进行编号,这样数字的长度为7个字符(在本例中,文件名变成0000001 - x.jpg
,0000002 - y.jpg
,和0000003 - z.jpg
)。在
我现在需要一个脚本(任何语言都可以,但是最好是Bash/zsh),它将通过一个参数来增加这些数字。从而重命名目录中的所有文件。例如,我想将程序称为(假设有一个Shell脚本):
./rename.sh 5
最终文件名中的数字应该填充到长度7,并且可以保证最初没有编号为9999999的文件。所以结果文件应该是0000006 - x.jpg
,0000007.jpg
,0000008.jpg
。它保证所有的文件最初都是增量的;也就是说,数字中没有空白。在
在Bash中,我似乎一点也不容易做到这一点,而且即使在Python中,这似乎也有点烦人。最好的办法是什么?在
编辑:好的,这里是我目前为止的努力。我认为前导的0是个问题,所以我使用rename删除了它们:
^{pr2}$现在只剩下数字了,我最好使用一个循环,类似这样,但我不太熟悉语法,也不知道为什么会出错:
for file in "(*) - (*)" ; do mv "${file}" "$(($1+5)) - ${2}" ; done
这里的5只是硬编码,但我想把它改成第一个参数应该不是什么大不了的事。然后我可以使用另一个循环将0加回去。在
相关问题 更多 >
编程相关推荐