曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3889|回复: 0
打印 上一主题 下一主题

seq -- 打印一序列数字

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-4-28 00:38:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-19 03:47 , Processed in 0.072035 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表