seq 用来打印一序列数字,有 3 种使用形式: seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST 一般的,打印从 FIRST 到 LAST 之间的数字,如果 FIRST 和 INCREMENT 不指定,那默认从 1 开始,比如:[root@centos ~]# seq 2
1
2 如果只指定 FIRST 和 LAST 而忽略 INCREMENT ,那么就打印从 FIRST 和 LAST 之间的数字,每次增量为 1 :[root@centos ~]# seq 2 5
2
3
4
5 可以在 FIRST 和 LAST 之间指定一个增量:[root@centos ~]# seq 1 3 20
1
4
7
10
13
16
19 -f 选项可以让输出的字母按照某种格式打印出来,这些格式是和 printf() 函数中的一样的,比如打印浮点数:[root@centos ~]# seq -f %f 1 3 20
1.000000
4.000000
7.000000
10.000000
13.000000
16.000000
19.000000 -s 选项用来指定分隔符:[root@centos ~]# seq -s "--" 1 3 20
1--4--7--10--13--16--19
-w 参数用来在在输出的数字前补0,目的也是一种格式对齐,比如:[root@centos ~]# seq -w 1 10 130
001
011
021
031
041
051
061
071
081
091
101
111
121
seq 在脚本中的应用举例:
[Bash shell] 纯文本查看 复制代码 #!/bin/bash
NET=18.7.22
for n in $(seq 1 254); do
ADDR=${NET}.${n}
echo -e "${ADDR}\t$(dig -x ${ADDR} +short)"
done
上面脚本里的 for 语句中,n 变量从 1 到 254 依次取值。整个脚本是用来输出 18.7.22.x 上的 上绑定的域名。输出:[root@centos shell]# sh lookup.sh
18.7.22.1 W92-RTR-1-W92SRV22.MIT.EDU.
18.7.22.2 W92-RTR-1-W92SRV22-HSRP-PRIMARY.MIT.EDU.
18.7.22.3 B24-RTR-3-W92SRV22-HSRP-SECONDARY.MIT.EDU.
18.7.22.4 W92-130-SW-STUB-W92SRV22.MIT.EDU.
18.7.22.5 W92-130-BR-W92SRV22.MIT.EDU.
18.7.22.6 M24-004-SW-STUB-24SRV22.MIT.EDU.
18.7.22.7 BABY-7-22.MIT.EDU.
18.7.22.8 M24-004-BR-24SRV22.MIT.EDU.
18.7.22.9 W92-F5-FAILOVER-BR.MIT.EDU.
18.7.22.10
18.7.22.11
18.7.22.12
18.7.22.13 AGENT-7-22.MIT.EDU. |