linux seq 详细的用法


以前使for i in提时候对于01 11而烦恼,可查了一把seq,发现还有其它的特点。
seq命令的作用就是打印出一串有序的数字,它主要有以下3个参数构成:
-f, –format=FORMAT
use printf style floating-point FORMAT (default: %g)
-f 指定打印的格式:
例如:
[root@hao32]# seq -f %05g 2 7
00002
00003
00004
00005
00006
00007
% 后面指定数字的位数 默认是"%g",
"%3g"那么数字位数不足部分是空格
#sed -f"%03g" 9 11 这样的话数字位数不足部分是0
% 前面制定字符串
seq -f "str%03g" 9 11
str009
str010
str011

批量创建文件夹
seq -f 'dir%03g' 1 10 | xargs mkdir
或
mkdir $(seq -f 'dir%03g' 1 10)
for i in `seq -f '%02g' 1 20`
do
if ! wget -P $HOME/tmp -c ; then
wget -P $HOME/tmp -c $_
fi
done 
-s, –separator=STRING
use STRING to separate numbers (default: \\n)
-s 指定分隔符 默认是回车:
seq -s" " -f"str%03g" 9 11
str009 str010 str011
要指定\\t 做为分隔符号
seq -s"`echo -e "\\t"`" 9 11
指定\\n\\n作为分隔符号
seq -s"`echo -e "\\n\\n"`" 9 11

例如:
[root@hao32]# seq -s” ” 2 7
2 3 4 5 6 7
-w, –equal-width
equalize width by padding with leading zeroes
-w 输出是同宽 前面不足的用 “0″ 补全,即与位数最多的数对齐
例如:
[root@hao32]# seq -w 2 11
02
03
04
05
06
07
08
09
10
11