修复了使用bash增加数字的文件名长度

时间:2015-06-13 21:38:52

标签: python bash

我的文件名称长度固定为4个字符。他们看起来像:

  

0000.png,0001.png,...,0027.png,...等...

他们增加整数,0,1,...,n。零填充到数字本身未填充的附加空间,以便完整文件名为4个字符。

在python中,我可以使用类似的东西遍历这些文件:

for i in range(n):
    file_name = '0'*(4-len(str(n))) + str(n) + '.png'

如何使用bash实现相同的效果?我对bash不太好,所以'0'填充部分让我失望。

3 个答案:

答案 0 :(得分:2)

试试这个:

n=5
for ((i=0;i<=$n;i++)); do 
  printf -v file_name "%0.4d.png" $i
  echo $file_name
done

输出:

0000.png
0001.png
0002.png
0003.png
0004.png
0005.png

答案 1 :(得分:1)

您也可以这样做:

n=5
for ((i=0;i<=n;i++)); do 
  filename=$(printf "%0.4d.png" $i)
  echo $filename
done

答案 2 :(得分:1)

您也可以尝试使用globbing

for x in [[:digit:]][[:digit:]][[:digit:]][[:digit:]].png; 
do 
    echo "$x";
done