我想在下面的
中使用bash shell创建一个文本文件+9990000001
+9990000002
+9990000003
+9990000004
...
前四个字符/数字是固定的(+999),其他7位数字从0000001到9999999开始
我有以下代码,但它没有执行00000000填充。
startnum=0;
endnum=9999999;
for (( i=$startnum; i<=$endnum; i++ )) ; do
echo $i ;
done
我怎么做前缀+999?
答案 0 :(得分:3)
您需要使用printf
来填充0s
:
startnum=1
endnum=9999999
for (( i=startnum; i<=endnum; i++ )) ; do
printf "+999%07d\n" $i
done
输出
+9990000001
+9990000002
+9990000003
+9990000004
+9990000005
+9990000006
...
答案 1 :(得分:1)
你可以写:
startnum=90000000
endnum=99999999
for (( i = startnum; i <= endnum; i++ )) ; do
echo +99$i
done
(我 建议简单地将所有三个9放在开头,但10 10 -1超出32位有符号整数的范围,所以我&# 39;我不确定算术部分是否有效。)
答案 2 :(得分:1)
我的版本:
seq -f "+%10.0f" 9990000001 9999999999
或
seq -f "+999%07.0f" 9999999