[問題] 迴圈時echo出的數值希望位數一樣

作者: LIAR (玻璃做的大叔)   2016-04-03 21:23:33
我上次需要弄出固定間距的數字文件檔。
FOR /L %v IN (0,1,99999) DO echo %v >>num.txt
這樣,但是我希望最後既然跑到99999,前面的個位數也能00001,00002這樣。
那一次我只好用土法煉鋼的方式,0~9,10~99,100~999這樣一段一段改,
([^[:digit:]])([[:digit:]]{1})([^[:digit:]])
我想請問有沒有聰明點的方式可以一次弄出00000~99999這樣固定位數的數字?
作者: danny8376 (釣到一隻猴子@_@)   2016-04-03 23:05:00
^[:digit:]{1,5}$ 這樣?有點不大理解你的問題(汗ummm 等下 你要的不是regex 而是數字padding嗎?如果是的話不要用echo 改用printf也不對 這應該是win batch....
作者: LIAR (玻璃做的大叔)   2016-04-04 00:14:00
抱歉我那個[:digit:]是用在文書軟體修改位數時給的抱歉沒說清楚我那個[:digit:]是用在文書軟體修改位數時給的對喔!我幹嘛一定要用win處理,用linux應該會簡單一點不過win真的就沒辦法了嗎?Y
作者: Sanvean   2016-04-04 21:26:00
在 windows 下可以用 busybox win32 版得到最簡單的 sh
作者: danny8376 (釣到一隻猴子@_@)   2016-04-04 21:56:00
win batch也是可以硬幹啦 不過可能PS/vbs簡單得多XDD
作者: LIAR (玻璃做的大叔)   2016-04-05 10:19:00
反正我有遠端隨時工作的linux,我就用它吧,感謝各位
作者: rickieyang (Rickie Yang)   2016-06-02 17:30:00
for ((i=0;i<20;i++)); do echo $i |awk '{printf("%04d\n",$1)}' ; done啊, 等等, Win 喔... 不會~ @_@

Links booklink

Contact Us: admin [ a t ] ucptt.com