seq

seq 是Linux 中一個預設的外部命令,一般用作一堆數字的簡化寫法。

seq 命令

它有三個選項

-f, --format=FORMAT use printf style floating-point FORMAT (default: %g)

-s, --separator=STRING use STRING to separate numbers (default: \n)

-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 , 以空格作為分格

…………………………

相關詞條

相關搜尋

熱門詞條

聯絡我們