2010-11-25 80 views
3

我想得到这样一个数字序列01,02,..,30 但是如果我使用{01..30},我会得到1,2,... 30 ,单位数字之前的零缺失。 如何获得01,02..30这样的格式?在此先感谢Linux可变扩展问题?

回答

3

在Bash4,因为你想让它你{01..30}括号展开实际工作。如果您使用的是Bash3或更低版本,则可以使用printf内建版以及支架扩展来获得您想要的内容,而无需借助外部命令。

$ printf "%02d " {1..20} 
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 
+0

在可用时总是更好地使用内置插件。不知道Bash4,谢谢! – 2010-11-25 02:13:04

1

seq -w 1 30 # ought to work 

为:


for number in $(seq -w 1 30); do 
touch /tmp/bleah$number.dat 
done