seq
Linux中預設的外部命令之一
seq 是Linux 中一個預設的外部命令,一般用作一堆數字的簡化寫法。
選項
-, --= - (: %)
-, --= (: \)
-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\n' {1..10} | xargs mkdir 或 mkdir `printf 'dir%03d ' {1..10}`
awk 當然也可以
awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
這樣會比寫一個腳本快, 不必寫成
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 $HOME/tmp -c ; then
wget -P $HOME/tmp -c $_
fi
done
-s 選項主要改變輸出的分格符, 預設是 \n , 就是 newline
用 -s 便可改變 , 如
seq -s ' ' 1 10
1 2 3 4 5 6 7 8 9 10 , 以空格作為分格
…………………………