Seq命令的用法
用于产生从某个数到另外一个数之间的所有整数
例一:
# seq 1 10
结果是1 2 3 4 5 6
7 8 9 10
例二:
#!/bin/bash
for i in `seq 1 10`;
do
echo $i;
done
或者用
for i in $(seq 1 10)
也可以seq
-f, --format=FORMATuse printf style floating-point FORMAT
(default: %g)
-s, --separator=STRINGuse STRING to separate numbers (default: \n)
-w, --equal-widthequalize width by padding with leading
zeroes-f选项指定格式
#seq -f"%3g" 9 11
9
10
11
%后面指定数字的位数
默认是"%g",
"%3g"那么数字位数不足部分是空格
#sed -f"%03g" 9 11这样的话数字位数不足部分是0
%前面制定字符串
seq -f "str%03g" 9 11
str009
str010
str011-w指定输出数字同宽不能和-f一起用
seq -w -f"str%03g" 9 11
seq: format string may not be specified
when printing equal width strings
seq -w 98 101
098
099
100
101
输出是同宽的-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
19293949596979899910911
得到的是个错误结果
不过一般也没有这个必要它默认的就是回车作为分隔符
几个例子
awk 'BEGIN { while (num < 10 ) printf
"dir%03d\n", ++num ; exit}' | xargs mkdir
mkdir $(seq -f 'dir%03g' 1 10)
for i in `seq -f '%02g' 1 20`
do
if ! wget -P $HOME/tmp -c http://www.xxxsite.com/photo/$i.jpg
; then
wget -P $HOME/tmp -c $_
fi
done