使用 Linux seq 命令生成数字序列(推荐)

来源:脚本之家  责任编辑:小易  

悟空问答里好多都是赵本山成名之后的问题,题主提出了一个赵本山发家之前的问题。确实很好!本山大叔6岁就开始和二叔赵德明(盲人)学艺。拉二胡,吹唢呐,唱小曲,二人转等等都很精通,特别是三弦那真的是超级厉害。后面的改变人生轨迹也跟这个有关,赵本山17岁加入公社文字宣传队,后面又加入威远乡业余剧团表现突出,被借调到西丰县剧团主演二人转。你瞧,本山大叔的人生轨迹在慢慢改变了。1982年,辽宁省举办了第一届农村小戏调演。赵本山在李忠堂和崔凯合作的拉场戏《摔三弦》剧中扮演盲人张志,一举成名。“摔”剧在演出中荣获一等奖。一切都悄然在改变了!同年,赵本山考上铁岭县剧团,担任主演并兼任业务团长。1986年被调到铁

Linux 的 seq 命令可以以闪电般的速度生成数字列表,而且它也易于使用而且灵活。

这玩意得去专业收藏协会去卖,有价值的东西他们收,街上的小商贩还是算了,还有街上收老版人民币的,都是套路,收钱的自己用A4纸印的各种钱币的图还备注的有回收价,几元至几百不等,,两块钱一张,好多人买了回家去找老版的钱,也有拿着去兑钱的,等兑钱的时候就难了,不是崭新的不收,老版人民币哪里有崭新的啊,他就是个卖纸的,一天卖个百十张,一个月弄个几千块钱。都是套路。

在 Linux 中生成数字列表的最简单方法之一是使用 seq(系列sequence)命令。其最简单的形式是,seq 接收一个数字参数,并输出从 1 到该数字的列表。例如:

关于玉林狗肉节的事,每年大家都会拿来讨论,但其实两方各自争吵,却彼此谁也说服不了谁。很简单,两方的人都各自不在一个频道上,公说公有理,婆说婆有理。支持吃狗肉的人认为,我擦,这有啥大惊小怪的,这不就是一个习俗么,而且大家聚在一起吃狗肉管你们毛事,又不犯法,就跟你们这帮反对的人不吃肉似的。反对吃狗肉的认为,狗是人类最忠实的朋友,狗是有灵性的。狗能在人类最危机的时候,给人救助,对人是有恩的,可你们却恩将仇报,要吃掉它们。那些惨死的狗狗们其实,玉林狗肉节最让人感到不适的地方就在于,当天,会有很多商家带来活着的狗狗,然后亲自宰杀它们。这一点的确是会让很多人感到不爽。关于动物伦理这个问题,其实从古至今都有

$ seq 5

1

2

3

4

5

毕业几年,在企业里做着一份不通不痒的工作,工资不高,结婚、买房、月供、月租(买的房没钱装修,还没入住)、物业费、每月孝敬岳母大人的生活费,还有一些坏账(遇到老赖同事,借出去的要不回来),每个月都是月光族,没有一分存款。唯一的好处是,现在的公司包吃,还不至于饿死??!不说了,说多了都是泪,努力奋斗,不断提升自身能力挣更多的钱才是王道。直接上图,支付宝余额宝里的可怜数目。

除非另有指定,否则 seq 始终以 1 开头。你可以在最终数字前面插上不同数字开始一个序列。

$ seq 3 5

3

4

5

指定增量

你还可以指定增量步幅。假设你要列出 3 的倍数。指定起点(在此示例中为第一个 3 ),增量(第二个 3)和终点(18)。

$ seq 3 3 18

3

6

9

12

15

18

你可以选择使用负增量(即减量)将数字从大变小。

$ seq 18 -3 3

18

15

12

9

6

3

seq 命令也非常快。你或许可以在 10 秒内生成一百万个数字的列表。

$ time seq 1000000 1 2 3 … … 999998 999999 1000000 real 0m9.290s <== 9+ seconds user 0m0.020s sys 0m0.899s

使用分隔符

另一个非常有用的选项是使用分隔符。你可以插入逗号、冒号或其他一些字符,而不是在每行上列出单个数字。-s 选项后跟要使用的字符。

$ seq -s: 3 3 18

3:6:9:12:15:18

实际上,如果只是希望将数字列在一行上,那么可以使用空格代替默认的换行符。

$ seq -s' '  3 3 18

3 6 9 12 15 18

开始数学运算

从生成数字序列到进行数学运算似乎是一个巨大的飞跃,但是有了正确的分隔符,seq 可以轻松地传递给 bc 进行计算。例如:

$ seq -s* 5 | bc

120

该命令中发生了什么?让我们来看看。首先,seq 生成一个数字列表,并使用 * 作为分隔符。

$ seq -s* 5

1*2*3*4*5

然后,它将字符串传递给计算器(bc),计算器立即将数字相乘。你可以在不到一秒的时间内进行相当庞大的计算。

$ time seq -s* 117 | bc 39699371608087208954019596294986306477904063601683223011297484643104\ 22041758630649341780708631240196854767624444057168110272995649603642\ 560353748940315749184568295424000000000000000000000000000 real 0m0.003s user 0m0.004s sys 0m0.000s

局限性

你只能选择一个分隔符,因此计算将非常有限。而单独使用 bc 可进行更复杂的数学运算。此外,seq 仅适用于数字。要生成单个字母的序列,请改用如下命令:

$ echo {a..g}

a b c d e f g

总结

以上所述是小编给大家介绍的使用 Linux seq 命令生成数字序列,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

Linux脚本:for循环 {1..100}和$(seq 1 100)两种列表模式,什么区别?

{x..y[..i]} 这种形式是bash内部的一种表达式,会生成一个空格分隔的数字序列字符串

$(cmd) 或 `cmd` 是bash的另一种表达式,表示把cmd的输出作为一个字符串

因此可见, 使用$(seq x y)的方式系统会启动一个新的进程运行cmd命令,相对于{x..y}的方式,速度上会有劣势,同时内存占用也会更多,此外还依赖/bin/seq命令的存在。

linux seq命令帮助怎么查看

man seq

或者:

seq --help 

linux环境下如何输出0-99这100个数字,用命令

seq 0 99 >filename

  • 本文相关:
  • linux查找包含指定文字的文件(linux查找指定文件)
  • linux中出现“no space left on device”错误的排查与解决方法
  • linux(ubuntu 18.04)上安装anaconda步骤详解
  • opensips源代码安装与配置的技巧方法
  • linux中sed命令的使用与注意小结
  • linux初学(cnetos7 linux)之切换命令模式和图形模式的方法
  • linux杀进程的多种方法
  • apache增加最大连接数的方法
  • centos7.6 安装tomcat-8.5.39的方法
  • linux/unix关于时间和时间戳的命令行
  • Linux脚本:for循环 {1..100}和$(seq 1 100)两...
  • linux seq命令帮助怎么查看
  • linux环境下如何输出0-99这100个数字,用命令
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved