seq是linux中的一个预设外部命令,一般用作一堆数字的简化写法,可以用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、步长、分隔符等进行控制
一、常规用法
seq 语法
seq [-w] [-f format] [-s string] [-t string] [first [incr]] last
【常规用法】:
- seq last,指定尾数
- seq fisrt last,指定首数、尾数
- seq first incr last,指定首数、步长、尾数
示例:
MacBook-Pro-5:~ jerry$ seq 3
1
2
3
MacBook-Pro-5:~ jerry$ seq 2 3
2
3
MacBook-Pro-5:~ jerry$ seq 1 2 3
1
3
【指定分隔符】:
- seq -s[separator] [first [incr]] last
- seq -s “separator” [first [incr]] last
示例
MacBook-Pro-5:~ jerry$ seq -s, 1 3
1,2,3,MacBook-Pro-5:~ jerry$ seq -s "--\n" 1 3
1--
2--
3--
没有通过-s指定分隔符时,默认使用换行作为分隔符
【指定输出格式】:
- seq -f [first [incr]] last
- g/G 原格式显示
- f/F 以浮点数值显示
- e/E 以科学计数的样式显示
- a/A 以十六进制8及左右位数偏移量的样式显示
g、f、e、a表示输出格式类型
示例
MacBook-Pro-5:~ jerry$ seq -f "%03g" 1 3
001
002
003
MacBook-Pro-5:~ jerry$ seq -f "%01g" 111 113
111
112
113
-f指定格式,%后数字表示数字位数,%3g表示指定3位数,不足3位的数,前面有空格,%03g表示后面有3位数,如果位数不够则用0补齐,但位数超过指定位数时不做截断处理。
【指定相同宽度】:
- seq -w [first [incr]] last
示例
MacBook-Pro-5:~ jerry$ seq -w 9 11
09
10
11
按相同宽度输出数字,位数不足用0补齐,-w不能和-f一起使用
二、特殊用法
- 2.1 生成倒序序列
MacBook-Pro-5:~ jerry$ seq 3 -1 1
3
2
1
- 2.2 生成多个文件/文件夹
MacBook-Pro-5:~ jerry$ touch $(seq -f "%03g.txt" 1 3)
MacBook-Pro-5:~ jerry$ mkdir $(seq -f "%03g.txt" 1 3)