seq命令的作用就是打印出一串有序的数字,它主要有以下3个参数构成:
-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 指定打印的格式:
# seq -f "%05g" 2 5
00002
00003
00004
00005
# seq -f "%5g" 2 5
2
3
4
5
# seq -f "str%03g" 9 12
str009
str010
str011
str012
-s 指定分隔符 默认是回车:
# echo {1..10}
1 2 3 4 5 6 7 8 9 10
# seq -s " " 10
1 2 3 4 5 6 7 8 9 10
# seq -s ";" 2 5
2;3;4;5
# seq -s " " -f "str%03g" 9 11
str009 str010 str011
-w 输出是同宽 前面不足的用 "0" 补全,即与位数最多的数对齐
# seq -w 98 100
098
099
100
# seq -s "`echo -e " \t"` " 9 11
9 10 11
# seq -s '
>
> ' 9 11
9
10
11
# for i in $(seq 5) ; do echo $i ; done
1
2
3
4
5
# mkdir $(seq -f 'dir%03g' 1 10) ; ls //创建并列出目录
dir001 dir002 dir003 dir004 dir005 dir006 dir007 dir008 dir009 dir010
# printf 'ddd%03d\n' {1..10} | xargs mkdir ; ls //创建并列出目录
ddd001 ddd002 ddd003 ddd004 ddd005 ddd006 ddd007 ddd008 ddd009 ddd010
###########xargs - build and execute command lines from standard input####################
#cut -d: -f1 < /etc/passwd | sort | xargs echo //显示系统存在的用户名 等同于 #echo `cut -d: -f1 /etc/passwd`
root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody nscd vcsa rpc mailnull smmsp pcap ntp dbus avahi sshd rpcuser nfsnobody haldaemon avahi-autoipd xfs gdm sabayon
# awk 'BEGIN {while(num < 10) printf "dir%03d\n",++num;exit}'| xargs mkdir ; ls
dir001 dir002 dir003 dir004 dir005 dir006 dir007 dir008 dir009 dir010