我的文件名称长度固定为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'填充部分让我失望。
答案 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