我有许多个png
和jpg
文件,它们的名称是数字,例如0100.png
,在目录中,
我如何添加1
到他们的名字,例如,获得0002.png
和0003.png
从0001.png
与0002.png
分别,而不会覆盖?
我怎样才能减去2
从他们的名字,这样0100.png
会不会变成098.png
但0098.png
不是?
在这种情况下,我可能最终会使用临时目录:
for file in [[:digit:]]*.png; do
echo mv $file tmp/$(printf %04d $((10#${file%.png}+1))).png
done
重要的部分是10#N
迫使bash解释000N
为just N
,否则前导零表示八进制数。
例如:
$ touch 0001.png 0002.png 0010.png 0020.png 0100.png 0200.png
$ for file in [[:digit:]]*.png; do echo mv $file tmp/$(printf %04d $((10#${file%.png}-1))).png; done
mv 0001.png tmp/0000.png
mv 0002.png tmp/0001.png
mv 0010.png tmp/0009.png
mv 0020.png tmp/0019.png
mv 0100.png tmp/0099.png
mv 0200.png tmp/0199.png
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句