当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2020-01-15 21:07

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

    在 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 命令生成数字序列,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

我有一卡车的娇无处可撒 - 抖音女生个性签名可爱又好听 有仇必报有爱必抱 - 抖音最火女生个性签名2019最新 慢慢变好才是给自己最好的礼物 - 抖音个性签名女简短励志2019 嘲讽也好掌声也好做好自己 - 微信女生个性签名奋斗励志 我不是个温柔的人可不妨碍我喜欢你呀 - 2019网红都在发的QQ个性 确认过眼神是可以尬聊的人 - 快手个性签名女生可爱幽默 女生专属抖音个性签名大全 - 抖音个性签名女生简短小清新 我这个该死的漂亮女孩 - qq扩列宣言女生可爱撩人签名 你比一大推零食还有诱惑力 - qq女生个性签名可爱好听 女生个性签名独一无二 - 女生一句话签名可爱霸气 、唐城:SVN没有update和commit 、唐城:Idea 使用SVN教程(有图) 、唐城:IDEA集成git和使用步骤(有图) 、唐城:mysql 内连接、左连接(左外连接)、右连接(右外连接) 、唐城:Spring Boot框架入门教程(快速学习版) 、唐城:构建微服务:Spring boot 入门篇 、唐城:拿来就能跑,1200多套微信小程序源码-史上最全的不同行 、唐城:老兵的经验之谈,成长路上这个道理越早知道越好 、唐城:(转发)Java开发、工作经验面试总结、[推荐阅读] 、唐城:远程debug调试,小伙伴们都很惊讶! 、唐城:清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Git 、唐城:高薪程序员也躲不过35岁这一关..当能力与年龄脱节,我们 晴天的专栏:怎样规划你毕业以后的人生 流年的博客:C++语言篇 字符串及字符数组练习 blackball1998的博客:自动封装前端参数 blackball1998的博客:转发和重定向中携带变量 blackball1998的博客:设置Session和Cookie blackball1998的博客:扩展Spring MVC blackball1998的博客:添加拦截器 blackball1998的博客:文件上传下载 blackball1998的博客:全局异常处理 blackball1998的博客:请求异步处理 zhang_sheng_nian的博客:前端传后台的时间格式(如:2019-05-01 ModelMapper从Map转实体,数据类型转换出错failed to convert ja Samuel丶Zhou的博客:“2021-01-30T16:00:00.000Z“: expected f string佳佳的博客:“2021-01-28 18:34:28”时间转化成时间戳格 Sock的博客:用C语言写一个简单的扫雷小游戏 Anton的博客:【C语言初阶】扫雷小游戏(C语言简易版) 404name的博客:【C语言】从零开始的C语言小游戏之路(总) 使用python的chardet库获得文件编码并修改编码 忘记ftp密码使用python ftplib库暴力破解密码的方法示例 python使用rsa加密算法模块模拟新浪微博登录 python检测lvs real server状态 pyqt和pyside开发图形化界面 pyside写ui界面入门示例 python3使用urllib示例取googletranslate(谷歌翻译) python使用beautifulsoup从爱奇艺网抓取视频播放 python生成指定长度的随机数密码 python写的一个文本编辑器 python实现批量转换文件编码(批转换编码示例) 怎么判断一个网站seo的好坏? 很多企业为什么都忽视网站运营甚至说放弃? php make test 报错怎么办 Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐) php怎么删除对象中的元素 mac怎么修改php环境变量 Unity连接MySQL并读取表格数据的实现代码 Java正则表达式实现经纬度的合法性操作 SpringCloud Alibaba使用Seata处理分布式事务的技巧 详解php如何实现一个简单的图片边缘检测 浅谈StringEntity 和 UrlEncodedFormEntity之间的区别 你究竟是否适合网络创业 七牛云存储——与创业精神一起前行 关于JDK+Tomcat+eclipse+MyEclipse的配置方法 一文搞懂C#实现读写文本文件中的数据 JDK8中的HashMap初始化和扩容机制详解 .net core中编辑json配置文件的方法 Java中HashMap的初始容量设置方式 把自己打造一个高效率的站长 php artisan 不能用怎么办