Linux命令之 - seq

简介

Linux中的seq命令,通过指定起始值、递增值和结束值,以及分隔符、前缀、后缀和宽度的形式,生成特定样式的序列。

使用方法和参数详解

seq 命令有如下三种调用形式:

  • seq [OPTION] ... LAST
  • seq [OPTION] ... FIRST LAST
  • seq [OPTION] ... FIRST INCREMENT LAST

FIRSTINCREMENTLAST 均被看做浮点数。当省略 FIRST 或者 INCREMENT 时,它们的值均默认为 1。

选项:

  • -s

    指定序列元素间的分隔符,默认为 \n

  • -w

    将序列各元素设置为等宽,用前导0补齐位数。起始值、递增值、结束值都应该用点分十进制表示。

  • -f

    使用 printf 样式的浮点数格式输出序列各元素。该选项的值必须使用一对单引号或者双引号包裹,其值的格式应为:

    [prefix]%[padding][flag ][width][.][percision]formatter[suffix]

    其中:

    • prefix :为序列元素的前缀,若要包含 %,必须使用 % 进行转义;

    • suffix: 为序列元素的后缀,若要包含 %,必须使用 % 进行转义;

    • padding: 为填充字符,默认为空格,可以显式指定为空格或者 0

    • flag:可以是 -+# 0 中的一个或多个字符;

    • width: 表示数值部分的宽度,若指定的宽度小于生成的序列中宽度最大的一个值的宽度,则不足的部分仍以填充字符填充,超过宽度的以实际宽度为准;

    • pricision:表示精度的 0 个或多个数字;

    • formatteraAeEfFgG 中的任意一个字符;

    其中 %formatter 是必须的,其他均为可选项。

注意:

-f-w 参数不能同时指定。

示例

只指定结束值:

$ seq 5
1
2
3
4
5

指定起始值和结束值:

$ seq 1 5
1
2
3
4
5

指定起始值为、递增值和结束值为:

$ seq 1 2 10
1
3
5
7
9
$ seq 5 -1.5 -4
5.0
3.5
2.0
0.5
-1.0
-2.5
-4.0

指定起始值为、结束值为和分隔符为:

$ seq -s '-' 5 10 
5-6-7-8-9-10
$ seq -s 'and' 5 10 
5and6and7and8and9and10

指定起始值、结束值为、序列元素分隔符以及序列元素等宽;

$ seq -w -s '*' 8 13 
08*09*10*11*12*13

指定序列元素前缀为字符串 Player,数值部分宽度为2,序列元素后缀为字符串 is the best,起始值为1,结束值为8:

$ seq -f 'Player%2g is the best' 1 8
Player 1 is the best
Player 2 is the best
Player 3 is the best
Player 4 is the best
Player 5 is the best
Player 6 is the best
Player 7 is the best
Player 8 is the best

指定序列元素前缀为字符串 Player,填充字符为0,数值部分宽度为5,序列元素后缀为字符串 is the best,起始值为1,结束值为5:

$ seq -f 'Player%02g is the best' 8 13
Player08 is the best
Player09 is the best
Player10 is the best
Player11 is the best
Player12 is the best
Player13 is the best

指定填充字符为0,数值部分宽度为4,起始值为999,递增值为4000,结束值为13001:

注意:

因为指定的宽度为4,而结束值的宽度为5,所以序列中的第一个元素需要用填充字符 0 补齐,而序列中的最后一个元素则显示为实际的宽度。

$ seq -f '%04g' 999 4000 13001
0999
4999
8999
12999

指定填充字符为0,数值部分宽度为6,起始值为-5,递增值为2.5,结束值为5;

$ seq -f '%06g' -5 2.5 5
-00005
-002.5
000000
0002.5
000005

使用 -f 选项对序列元素进行格式化:

$ seq -f '占比为%5.3f%%' 85 90
占比为85.000%
占比为86.000%
占比为87.000%
占比为88.000%
占比为89.000%
占比为90.000%
$ seq -f '占比为%5g%%' 85 90
占比为   85%
占比为   86%
占比为   87%
占比为   88%
占比为   89%
占比为   90%
$ seq -f 'result is: %5g%%' -3 3  
result is:    -3%
result is:    -2%
result is:    -1%
result is:     0%
result is:     1%
result is:     2%
result is:     3%
$ seq -f 'result is: %#5g%%' -3 3  
result is: -3.00000%
result is: -2.00000%
result is: -1.00000%
result is: 0.00000%
result is: 1.00000%
result is: 2.00000%
result is: 3.00000%
发布了35 篇原创文章 · 获赞 28 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览