我想下载文件格式为cars000.txt,cars003.txt,cars006.txt,直到cars105.txt ...间隔为3,你可以看到
我在ksh中使用以下代码,但在下载cars012.txt之后,它失败了,它开始下载cars13.txt,...而我不希望它。它在代码中失败了什么?
FHR=000
while [ $FHR -le 105 ]
do
file=cars${FHR}.txt
wget http://${dir_target}/${file}
(( FHR = $FHR + 03 ))
echo $FHR
if [[ $FHR -le 10 ]]; then FHR="00"$FHR
else FHR="0"$FHR
fi
done
答案 0 :(得分:1)
您应该决定:FHR是字符串,小数还是八进制。 你现在正在混合它们。 尝试下一个改进:
FHR=0
while [ ${FHR} -le 105 ]; do
file=cars${FHR}.txt
(( FHR = FHR + 3 ))
echo Without leading zero: FHR=${FHR}
if [[ $FHR -le 10 ]]; then
echo "FHR=00${FHR}"
else
echo "FHR=0${FHR}"
fi
sleep 1
done
(下一个改进可能是使用printf或awk而102/105没有零)