点击个人博客,查看更多文章https://elonjelinek.github.io/
seq用于产生从某个数到另一个数之间的所有整数
ElonJelinek:Desktop ElonJelinek$ seq 1 6
1
2
3
4
5
6
ElonJelinek:Desktop ElonJelinek$
-f
指定格式,%
后面指定数字的位数
%3g
表示指定3位数,不足3位的数,前面有个空格
仔细观察发现,seq -f "%3g" 9 13
的输出结果均是两位数,所以前面都有个空格。
ElonJelinek:Desktop ElonJelinek$ seq -f "%3g" 9 13
9
10
11
12
13
ElonJelinek:Desktop ElonJelinek$ seq -f "%3g" 98 102
98
99
100
101
102
ElonJelinek:Desktop ElonJelinek$
%03g
表示指定3位数,不足3位数的前面用0填充
ElonJelinek:Desktop ElonJelinek$ seq -f "%03g" 9 13
009
010
011
012
013
ElonJelinek:Desktop ElonJelinek$
%
的前面可以加字符串,str%3g
表示给生成的3位数前面加上字符串str
,不足3位数的前面仍有个空格,3前面有0的表示用0填充
ElonJelinek:Desktop ElonJelinek$ seq -f "str%03g" 9 13
str009
str010
str011
str012
str013
ElonJelinek:Desktop ElonJelinek$ seq -f "str=%3g" 98 102
str= 98
str= 99
str=100
str=101
str=102
ElonJelinek:Desktop ElonJelinek$
-s
指定分隔符,没有-s
的时候,默认以回车分隔,也可以指定\n
分隔,分隔符都写在双引号里,还可以用任意字符分隔,但是双引号里不能为空,可以是至少一个空格
ElonJelinek:Desktop ElonJelinek$ seq -s"+=\n" -f "str=%3g" 98 102
str= 98+=
str= 99+=
str=100+=
str=101+=
str=102+=
ElonJelinek:Desktop ElonJelinek$ seq -s"\n" -f "str%03g" 9 13
str009
str010
str011
str012
str013
ElonJelinek:Desktop ElonJelinek$
ElonJelinek:Desktop ElonJelinek$ seq -s"==" -f "str%03g" 9 13
str009==str010==str011==str012==str013==ElonJelinek:Desktop ElonJelinek$
ElonJelinek:Desktop ElonJelinek$ seq -s"" -f "str%03g" 9 13
seq: invalid floating point argument: str%03g
ElonJelinek:Desktop ElonJelinek$
-w
指定输出的数字同宽,不能和-f
一起使用
ElonJelinek:Desktop ElonJelinek$ seq -w 98 101
098
099
100
101
ElonJelinek:Desktop ElonJelinek$
一次生成5个文件夹
ElonJelinek:Desktop ElonJelinek$ mkdir $(seq -f "dir%03g" 1 5)
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1480
drwxr-xr-x 2 ElonJelinek staff 64 4 23 15:40 dir001
drwxr-xr-x 2 ElonJelinek staff 64 4 23 15:40 dir002
drwxr-xr-x 2 ElonJelinek staff 64 4 23 15:40 dir003
drwxr-xr-x 2 ElonJelinek staff 64 4 23 15:40 dir004
drwxr-xr-x 2 ElonJelinek staff 64 4 23 15:40 dir005
-rw-r--r--@ 1 ElonJelinek staff 612 4 23 13:47 ping.txt
-rwxr-xr-x@ 1 ElonJelinek staff 79 4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek staff 356548 4 21 16:36 编程珠玑.png
-rw-r--r--@ 1 ElonJelinek staff 385309 4 21 16:31 大话数据结构.png
ElonJelinek:Desktop ElonJelinek$
一次生成5个文本文件
ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1472
-rw-r--r--@ 1 ElonJelinek staff 0 4 23 15:43 002
-rw-r--r-- 1 ElonJelinek staff 0 4 23 15:43 003
-rw-r--r-- 1 ElonJelinek staff 0 4 23 15:43 004
-rw-r--r-- 1 ElonJelinek staff 0 4 23 15:43 005
-rw-r--r-- 1 ElonJelinek staff 0 4 23 15:43 006
-rwxr-xr-x@ 1 ElonJelinek staff 79 4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek staff 356548 4 21 16:36 编程珠玑.png
-rw-r--r--@ 1 ElonJelinek staff 385309 4 21 16:31 大话数据结构.png
ElonJelinek:Desktop ElonJelinek$
也可以指定后缀名
ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g.txt" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls
002.txt 005.txt 编程珠玑.png
003.txt 006.txt 大话数据结构.png
004.txt test.sh
ElonJelinek:Desktop ElonJelinek$ touch $(seq -f "%03g.go" 2 6)
ElonJelinek:Desktop ElonJelinek$ ls
002.go 004.txt test.sh
002.txt 005.go 编程珠玑.png
003.go 005.txt 大话数据结构.png
003.txt 006.go
004.go 006.txt
ElonJelinek:Desktop ElonJelinek$
另一种写法
ElonJelinek:Desktop ElonJelinek$ awk 'BEGIN { while (num < 10 ) printf "dir%03d\n", ++num ; exit}' | xargs mkdir
ElonJelinek:Desktop ElonJelinek$ ls -l
total 1472
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir001
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir002
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir003
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir004
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir005
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir006
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir007
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir008
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir009
drwxr-xr-x 2 ElonJelinek staff 64 4 23 16:13 dir010
-rwxr-xr-x@ 1 ElonJelinek staff 79 4 23 14:33 test.sh
-rw-r--r--@ 1 ElonJelinek staff 356548 4 21 16:36 编程珠玑.png
-rw-r--r--@ 1 ElonJelinek staff 385309 4 21 16:31 大话数据结构.png
ElonJelinek:Desktop ElonJelinek$
点击个人博客,查看更多文章https://elonjelinek.github.io/