seq 是Linux 中一个预设的
外部命令,一般用作一堆数字的简化写法。
seq 命令
它有三个选项
-f, --format=FORMAT use printf style floating-point FORMAT (default: %g)
-s, --separator=STRING use STRING to separate numbers (default:
)
-w, --equal-width equalize width by padding with leading zeroes
-f 最常用 , 例如一次制做 10 个名 dir001 , dir002 .. dir010 的目录,我们可以
运行下面的命令便可
seq -f 'dir%03g' 1 10 |
xargs mkdir
或
mkdir $(seq -f 'dir%03g' 1 10)
它用的是
printf的格式 , %03g' 代表以三位浮点数,以此方法,如用bash3 的 printf
也可作为等价命令
printf 'dir%03d
' {1..10} | xargs mkdir 或 mkdir `printf 'dir%03d ' {1..10}`
awk 当然也可以
这样会比写一个脚本快, 不必写成
for dir in 001 002 003 004 005 006 007 008 009 010
do
mkdir dir$
done
也可用 seq 下载一些用数字的 jpeg , 只要格式有数字顺序便可,尤以一些 xxx site ;
for i in `seq -f '%02g' 1 20`
do
if ! wget -P /tmp -c ; then
wget -P /tmp -c
fi
done
-s 选项主要改变输出的分格符, 预设是
, 就是 newline
案例
用 -s 便可改变 , 如
seq -s ' ' 1 10
1 2 3 4 5 6 7 8 9 10 , 以空格作为分格
…………………………