分页: 1 / 1
[问题]01要怎么变成02?(解决)- -
发表于 : 2008-06-10 17:59
由 kinzess
01要怎么变成02,03,04。。。0n。。。10,11,12?
001要怎么变成002,003,004。。。00n,010,011,012。。。100?
怎么变才方便呢?
谢谢

厄。。
就是说像自增一样。。
不过表达有点不同。。。
不是1,2,3这种形式
而01或者001这种形式是自增不了的
发表于 : 2008-06-10 18:01
由 qiang_liu8183
发表于 : 2008-06-10 18:15
由 BigSnake.NET
代码: 全选
for i in `seq 100` ; do printf '%0.3d\n' $i ; done
这样?
发表于 : 2008-06-10 18:19
由 kinzess
BigSnake.NET 写了:代码: 全选
for i in `seq 100` ; do printf '%0.3d\n' $i ; done
这样?
就是这样~~
谢谢大蛇~~
发表于 : 2008-06-10 18:27
由 kinzess
类似自增的效果上面的可以达到
那如果自减呢?
发表于 : 2008-06-10 18:29
由 kinzess
厄
找到了~~
seq -f "%02g" 100 -1 1
seq果然好用~~再次谢谢大蛇
发表于 : 2008-06-10 18:35
由 bones7456
哈哈.
发表于 : 2008-06-10 18:52
由 kinzess
在问一下~~有没有办法做到
i++;
i--;
这样的效果的方法?
因为我不想一直用循环。。。
因为我有可能用到
当使用001时候我可能同时要用到02
而当使用002时我可能同时要用到03
或者用010时用到07;
当使用到009是要用到08;
而用循环这样的效果无法达到。。
发表于 : 2008-06-10 19:01
由 solcomo
for (( i=100 ; i > 0 ; i--)) ; do printf '%0.3d\n' $i ; done
发表于 : 2008-06-10 19:07
由 vvvli
kinzess 写了:在问一下~~有没有办法做到
i++;
i--;
这样的效果的方法?
因为我不想一直用循环。。。
因为我有可能用到
当使用001时候我可能同时要用到02
而当使用002时我可能同时要用到03
或者用010时用到07;
当使用到009是要用到08;
比如
x=10
echo $((x=x+1))
x=`printf '%0.3d\n' $x`
大概就是这样。
发表于 : 2008-06-10 19:16
由 kinzess
vvvli 写了:kinzess 写了:在问一下~~有没有办法做到
i++;
i--;
这样的效果的方法?
因为我不想一直用循环。。。
因为我有可能用到
当使用001时候我可能同时要用到02
而当使用002时我可能同时要用到03
或者用010时用到07;
当使用到009是要用到08;
比如
x=10
echo $((x=x+1))
x=`printf '%0.3d\n' $x`
大概就是这样。
这样之后x=011
然后呢?
我要x=012呢?
如果这个是循环的话x=011,因为这是个八进制的数,那下一步如果遇到有8,9的话
echo $((x=x+1))就会出错
例如
bash: 008: value too great for base (error token is "008")
发表于 : 2008-06-10 19:24
由 kinzess
我现在用的恶心方法是
把数字前面的0去掉
然后自增或者自减。。。
搞完再把0加回去。。。

发表于 : 2008-06-10 23:12
由 laborer
代码: 全选
$ a=0089
$ a=`printf "%0${#a}d" $(dc -e "$a 1 + p")`
$ echo $a
0090
$ a=`printf "%0${#a}d" $(dc -e "$a 1 + p")`
$ echo $a
0091
发表于 : 2008-06-11 0:12
由 kinzess
发表于 : 2008-06-13 7:21
由 yjcong
如果要生成 abde01.jpg abced02.jpg abced03.jpg 该怎么做啊?如果想把生成的东西写到文件里又该如何??