png
たとえば、ディレクトリに数字とという名前のファイルがたくさんあります。jpg
0100.png
1
0002.png
たとえば、名前を上書きせずに別々に名前を追加するにはどうすればよいですか0003.png
?0001.png
0002.png
2
名前にならないようにどうやって0100.png
名前を引くべきですか?098.png
0098.png
関連https://stackoverflow.com/questions/26770060/subtracting-a-number-from-the-names-of-all-the-files-in-a-directoryしかし、ここではもっと難しいです。
ベストアンサー1
この場合、一時ディレクトリを使用することもできます。
for file in [[:digit:]]*.png; do
echo mv $file tmp/$(printf %04d $((10#${file%.png}+1))).png
done
重要なのは、bashがこれをjustと10#N
解釈するように強制することです。それ以外の場合、先行ゼロは8進数を表します。000N
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