Linux - Shell - seq

1. 概述

  1. 生成序列的命令
  2. 之前貌似写过 seq 命令, 这次单独拉出来再写一次吧
    1. 节操先放一放

2. 命令

1. 帮助

  1. 命令

    
    # 输出我就不打了,
    # 这个命令可用, 证明组件可用
    > seq --help
    
    

2. 简单序列

  1. 命令

    
    # 输出 [1, 3]
    # 步长为 1
    # seq 3 也可以
    > seq 1 3
    1
    2
    3
    
    

3. 序列步长

  1. 命令

    
    # 输出 [1, 5]
    # 步长为 2
    > seq 1 2 5
    1
    3
    5
    
    

4. 逆序序列

  1. 命令

    
    # 输出 [1, 3]
    # 步长为 -1, 导致逆序
    > seq 3 -1 1
    3
    2
    1
    
    

5. 小数步长

  1. 命令

    
    > seq 1 0.5 3
    1.0
    1.5
    2.0
    2.5
    3.0
    
    

6. 自定义分隔符

  1. 命令

    
    > seq -s, 1 3
    1,2,3
    
    

7. 等宽输出

  1. 命令

    
    > seq -w 1 10
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    
    

8. 格式化输出

  1. 命令

    
    > seq -f 'format %g' 1 3
    format 1
    format 2
    format 3
    
    
  2. 其他

    1. format
      1. 格式
        1. 单引号引起来
        2. 需要包含 %g 类似的格式占位符
      2. 占位符
        1. 占位

          1. 运行后, 会用生成的数字, 替代
        2. 种类

          1. a
            1. 抱歉我也看不懂
          2. e
            1. 科学计数法
          3. f
            1. 浮点数
          4. g
            1. 默认格式, 我也不知道是啥, 但是一般用这个就可以
        3. 其他修饰(这里只讲%g)

          1. 整数部分输出宽度: X

            1. 例如: %2g表示, 输出宽度是 2, 不够则用 空格 填充
            2. 如果不够, 还是会把值显示出来
          2. 整数部分填充的 0

            1. 例如: %02g表示, 输出宽度是 2, 不够用 0 填充
            2. 只填整数, 小数如果要填 0, 需要用 f%
          3. 输出显示位.X

            1. 例如: %2.4g表示, 显示 2 位整数, 2 位 小数
            2. 感觉有点坑
            3. 如果小数位数显示不全, 可能会用 e% 的格式来显示
          4. 右对齐

            1. 默认就是右对齐
            2. 例如: %3g 表示, 整数长为 3 位, 右对齐, 不足用 空格 补充
          5. 左对齐 -

            1. 例如: %-3g 表示, 左对齐
          6. 感觉

            1. 还是个很麻烦的东西,
            2. 也没有讲太细致,
            3. 等理解深刻了, 再来补充
        4. 对了, 发现两个 大坑

          1. %g 的占位符, 只能出现一次, 出现两次会报错

            1. 会报错
              1. 报错
          2. vim 的 ex 命令行模式下, % 和 # 需要转义, 否则无法使用

            1. 例如

              
              :r !seq -f '\#\# \%g' 1 3
              
              

3. 其他

  1. 今天先到这吧

    1. 想不出什么拓展的来了
  2. 格式化输出这个东西, 其实很不错

    1. c, java, py 都有类似的东西
    2. 恰好我都没学好
    3. 今天先了解些, 以后还得补充
    4. 这玩意, 我真不知道怎么讲
      1. 理解起来, 其实本身就有些费劲
      2. 感觉, 最好还是举几个常用的例子
      3. 但是我用的也不多
  3. ref

    1. Linux seq Command Tutorial for Beginners (5 Examples)
    2. Example Uses of the Linux 'Seq' Command
    3. 格式转换符 %f %e %g 有什么区别
posted @ 2019-08-28 20:59  轩辕拾銉  阅读(493)  评论(0编辑  收藏  举报