[问题] 循环时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