首页 > 代码库 > 生成数字序列命令(7)
生成数字序列命令(7)
生成数字序列命令:seq,shuf
7.1.seq
功能:打印数字序列
语法:seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST
常用选项:
-f 使用printf样式格式
-s 指定分隔符,默认换行符\n
-w 等宽,用0填充
示例:
数字序列:
方法1: [root@localhost ~]# seq 10 1 2 3 4 5 6 7 8 9 10 方法2: for循环 #!/bin/bash for i in `seq 1 10`; do echo $i; done 或者用 for i in $(seq 1 10) 方法3: 通过指定步长,所谓步长就是一步之长 [root@localhost ~]# seq 1 5 20 #这里的步长就是5 1 6 11 16 方法4: [root@localhost ~]# seq 20 30 #指定范围 20 21 22 23 24 25 26 27 28 29 30
-f选项:
#seq -f"%3g" 9 11
9
10
11
% 后面指定数字的位数 默认是"%g",
"%3g"那么数字位数不足部分是空格
#sed -f"%03g" 9 11 这样的话数字位数不足部分是0
% 前面制定字符串
seq -f "str%03g" 9 11
str009
str010
str011
-w选项:
不能和-f一起使用 [root@localhost ~]# seq -w -f"str%03g" 9 11 seq: format string may not be specified when printing equal width strings Try `seq --help‘ for more information. [root@localhost ~]# seq -w 1 20 #数字前面带0 01 ............... 20
-s选项:
[root@localhost ~]# seq -s" " -f"str%03g" 9 11 #空格分隔 str009 str010 str011 [root@localhost ~]# seq -s"+" 1 10 #+号分隔 1+2+3+4+5+6+7+8+9+10 [root@localhost ~]# seq -s"\t" 1 10 #有正则的这样写虽然打印了,但是违背了题意 1\t2\t3\t4\t5\t6\t7\t8\t9\t10 [root@localhost ~]# seq -s "$(echo -e "\t")" 1 10 #这样写才会达到效果。制表符为分隔打印 1 2 3 4 5 6 7 8 9 10 [root@localhost ~]# seq -s "$(echo -e "\n")" 1 10 12345678910 [root@localhost ~]# seq -s "$(echo -e "\n\n")" 1 10 #两个效果一样 12345678910 12345678910
批量创建文件:
方法1:
[root@localhost ~]# awk ‘BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}‘ | xargs mkdir #使用awk来获取文本 [root@localhost ~]# ls anaconda-ks.cfg dir003 dir006 dir009 install.log.syslog dir001 dir004 dir007 dir010 system.sh dir002 dir005 dir008 install.log
方法2:
[root@localhost ~]# mkdir $(seq -f ‘dir%03g‘ 1 10)
方法3:
for i in `seq -f ‘%02g‘ 1 20`doif ! wget -P $HOME/tmp -c [img]http://www.xxxsite.com/photo/$i.jpg[/img] ; thenwget -P $HOME/tmp -c $_fidone
方法4:
[victor@localhost ~]$ seq -s ‘ > > ‘ 1 5 1 2 3 4 5
7.2.shuf
功能:生成随机序列
常用选项:
-i 输出数字范围
-o 结果写入文件
示例:
输出范围随机数:
[root@localhost ~]# seq 10 1 2 3 4 5 6 7 8 9 10 [root@localhost ~]# seq 10|shuf 3 7 4 6 8 9 5 10 2 [root@localhost ~]# shuf -i 1-10 10 5 2 7 9 8 4 1 6 3
本文出自 “烂笔头” 博客,请务必保留此出处http://lanbitou.blog.51cto.com/9921494/1930544
生成数字序列命令(7)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。