分页: 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?
怎么变才方便呢?
谢谢
:P :P :P :P
厄。。
就是说像自增一样。。
不过表达有点不同。。。
不是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--;
这样的效果的方法?
因为我不想一直用循环。。。 :oops: :oops: :oops: :oops:

因为我有可能用到
当使用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--;
这样的效果的方法?
因为我不想一直用循环。。。 :oops: :oops: :oops: :oops:

因为我有可能用到
当使用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--;
这样的效果的方法?
因为我不想一直用循环。。。 :oops: :oops: :oops: :oops:

因为我有可能用到
当使用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
谢谢ls的
真是没有做不到的只有想不到的阿 :P :P :P

发表于 : 2008-06-13 7:21
yjcong
如果要生成 abde01.jpg abced02.jpg abced03.jpg 该怎么做啊?如果想把生成的东西写到文件里又该如何??