[命令] Linux 命令 sort(对数字或字母进行排序)

内容目录:

内容一:sort 命令的选项

内容二:sort 排序的案例
2.1 案例一:检查是否已经排序
2.2 案例二:sort 排序一列数字
2.3 案例三:sort 排序一列字母
2.4 案例四:sort 以相反的顺序进行排序
2.5 案例五:sort 以 2 列中的第 1 列进行排序
2.6 案例六:sort 以 2 列中的第 2 列进行排序
2.7 案例七:sort 对 IP 地址进行排序
2.8 案例八:sort 以 IP 地址的第三组数字进行排序

具体的内容:

内容一:sort 命令的选项

1) -b 排序时忽略每行前面的空格
2) -c 检查是否已排序
3) -f 排序时忽略大小写字母
4) -n 按照数值到大小进行排序
5) -o 将排序结果导入到指定文件
6) -r 以相反的顺序进行排序
7) -t 指定排序的分隔符
8) -k 以指定的列进行排序

内容二:sort 排序的案例
2.1 案例一:检查是否已经排序

# cat test.txt
3
5
4
2
1

# sort -c test.txt 
sort: test.txt:3: disorder: 4

(补充:这里以检查 test.txt 文件里的排列为例)

2.2 案例二:sort 排序一列数字

# cat test.txt
3
5
4
2
20
1

# sort -n test.txt 
1
2
3
4
5
20

(补充:这里以排列 test.txt 文件里的列为例)

2.3 案例三:sort 排序一列字母

# cat test.txt 
c
e
d
b
a

# sort test.txt 
a
b
c
d
e

(补充:这里以排列 test.txt 文件里的列为例)

2.4 案例四:sort 以相反的顺序进行排序

# cat test.txt 
c
e
d
b
a

# sort -r test.txt 
e
d
c
b
a

(补充:这里以排列 test.txt 文件里的列为例)

2.5 案例五:sort 以 2 列中的第 1 列进行排序

# cat test.txt 
3 d
5 c
4 a
2 e
1 b

# sort test.txt 
1 b
2 e
3 d
4 a
5 c

(补充:这里以排列 test.txt 文件里的列为例)

2.6 案例六:sort 以 2 列中的第 2 列进行排序

# cat test.txt 
3 d
5 c
4 a
2 e
1 b

# sort -k2 test.txt 
4 a
1 b
5 c
3 d
2 e

(补充:这里以排列 test.txt 文件里的列为例)

2.7 案例七:sort 对 IP 地址进行排序

# cat test.txt 
10.0.200.10
172.16.50.10
192.168.100.1
192.168.100.10
172.16.50.1
10.0.200.1

# sort test.txt
10.0.200.1
10.0.200.10
172.16.50.1
172.16.50.10
192.168.100.1
192.168.100.10

(补充:这里以排列 test.txt 文件里的列为例)

2.8 案例八:sort 以 IP 地址的第三组数字进行排序

# cat test.txt 
10.0.200.10
172.16.50.10
192.168.100.1
192.168.100.10
172.16.50.1
10.0.200.1

# sort -t'.' -k3n test.txt
172.16.50.1
172.16.50.10
192.168.100.1
192.168.100.10
10.0.200.1
10.0.200.10

(补充:这里以排列 test.txt 文件里的列为例)

[内容] Linux 输出信息的重定向

内容目录:

内容一:以清空原文的方式进行输出信息的重定向
1.1 以清空原文的方式将所有的输出信息重定向到某一个文件
1.2 以清空原文的方式只将正确的输出信息重定向到某一个文件
1.3 以清空原文的方式只将错误的输出信息重定向到某一个文件

内容二:以在原文后面追加的方式进行输出信息的重定向
2.1 以在原文后面追加的方式将所有的输出信息重定向到某一个文件
2.2 以在原文后面追加的方式只将正确的输出信息重定向到某一个文件
2.3 以在原文后面追加的方式只将错误的输出信息重定向到某一个文件

内容三:通过重定向转换输出信息的正误
3.1 将错误的输出信息重定向成正确的输出信息
3.2 将正确的输出信息重定向成错误的输出信息

内容四:将输出信息重定向到黑洞

具体的内容:

内容一:以清空原文的方式进行输出信息的重定向
1.1 以清空原文的方式将所有的输出信息重定向到某一个文件

<command> &> <file>

或者:

<command> >& <file>

1.2 以清空原文的方式只将正确的输出信息重定向到某一个文件

<command> 1> <file>

或者:

<command> > <file>

1.3 以清空原文的方式只将错误的输出信息重定向到某一个文件

<command> 2> <file>

内容二:以在原文后面追加的方式进行输出信息的重定向
2.1 以在原文后面追加的方式将所有的输出信息重定向到某一个文件

<command> &>> <file>

或者:

<command> >>& <file>

2.2 以在原文后面追加的方式只将正确的输出信息重定向到某一个文件

<command> 1>> <file>

或者:

<command> >> <file>

2.3 以在原文后面追加的方式只将错误的输出信息重定向到某一个文件

<command> 2>> <file>

内容三:通过重定向转换输出信息的正误
3.1 将错误的输出信息重定向成正确的输出信息

<command> 2&>1

或者:

<command> 2>&1

3.2 将正确的输出信息重定向成错误的输出信息

<command> 1&>2

或者:

<command> 1>&2

内容四:将输出信息重定向到黑洞

<command> &> /dev/null

或者:

<command> &>> /dev/null

或者:

<command> >& /dev/null

或者:

<command> >>& /dev/null

或者:

<command> 1> /dev/null 2>&1

或者:

<command> 1>> /dev/null 2>&1

或者:

<command> 1> /dev/null 2>>&1

或者:

<command> 1>> /dev/null 2>>&1

或者:

<command> 2> /dev/null 1>&2

或者:

<command> 2>> /dev/null 1>&2

或者:

<command> 2> /dev/null 1>>&2

或者:

<command> 2>> /dev/null 1>>&2

(补充:通过此种方法输出信息就既不会显示出来也不会被重定向到一个文件里)

[命令] Linux 命令 seq (打印数字序列)

内容目录:

内容一:seq 命令格式

内容二:seq 命令的选项

内容三:seq 命令的使用案例
3.1 案例一:seq 打印普通的数字序列
3.1.1 打印从 1 到某个数字到数字序列
3.1.2 打印从某个数字开始到某个数字结束的数字序列
3.1.3 打印从某个数字开始到某个数字结束有数值差距的数字序列
3.2 案例二:seq 打印指定前缀的数字序列
3.2.1 打印将某个字符串作为前缀的数字序列
3.2.2 打印将某个字符串和几个空格作为前缀的数字序列
3.2.3 打印将某个字符串和几个字符作为前缀的数字序列
3.3 案例三:seq 打印指定间隔符的数字序列
3.3.1 打印没有间隔符的数字序列
3.3.2 打印间隔符是空格的数字序列
3.3.3 打印间隔符是某一个字符的数字序列
3.4 案例四:seq 打印指定宽度的数字序列
3.5 案例五:seq 使用变量打印数字序列
3.6 案例六:将 seq 打印的数字序列导入到一个文件里

具体的内容:

内容一:seq 命令格式

1) seq <option> <first number>
2) seq <option> <first number> <last number>
3) seq <option> <first number> <increment> <last number>

内容二:seq 命令的选项

1) -f 指定序列的格式
2) -s 指定序列的间隔符
3) -w 使序列宽度相同
4) –equal-width 使序列宽度相同

内容三:seq 命令的使用案例
3.1 案例一:seq 打印普通的数字序列
3.1.1 打印从 1 到某个数字到数字序列

# seq 5
1
2
3
4
5

(补充:这里以打印 1 到 5 的数字序列为例)

3.1.2 打印从某个数字开始到某个数字结束的数字序列

# seq 3 7
3
4
5
6
7

(补充:这里以打印 3 到 7 的数字序列为例)

3.1.3 打印从某个数字开始到某个数字结束有数值差距的数字序列

# seq 4 2 8
4
6
8

(补充:这里以打印 4 到 8 数值差距为 2 的数字序列为例)

3.2 案例二:seq 打印指定前缀的数字序列
3.2.1 打印将某个字符串作为前缀的数字序列

# seq -f "num%g" 5
num1
num2
num3
num4
num5

(补充:这里以打印 1 到 5 并且将 num 作为前缀的数字序列为例)

3.2.2 打印将某个字符串和几个空格作为前缀的数字序列

# seq -f "num%3g" 5
num  1
num  2
num  3
num  4
num  5

(补充:这里以打印 1 到 5 并且将 num 和 2 个空格作为前缀的数字序列为例)

3.2.3 打印将某个字符串和几个字符作为前缀的数字序列

# seq -f "num%03g" 5
num001
num002
num003
num004
num005

(补充:这里以打印 1 到 5 并且将 num 和 2 个 0 作为前缀的数字序列为例)

3.3 案例三:seq 打印指定间隔符的数字序列
3.3.1 打印没有间隔符的数字序列

# seq -s '' 5
12345

(补充:这里以打印 1 到 5 并且没有间隔符的数字序列为例)

3.3.2 打印间隔符是空格的数字序列

# seq -s ' ' 5
1 2 3 4 5

(补充:这里以打印 1 到 5 并且以空格作为间隔的数字序列为例)

3.3.3 打印间隔符是某一个字符的数字序列

# seq -s '#' 5
1#2#3#4#5

(补充:这里以打印 1 到 5 并且以 # 作为间隔的数字序列为例)

3.4 案例四:seq 打印指定宽度的数字序列

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

或者:

# seq --equal-width 1 10
01
02
03
04
05
06
07
08
09
10

3.5 案例五:seq 使用变量打印数字序列

# a=5
# seq $a
1
2
3
4
5

(补充:这里以将变量 a 的值设置为 5 ,并且打印 1 到变量 a 的值的数字变量为例)

3.6 案例六:将 seq 打印的数字序列导入到一个文件里

# seq 1 5 > test.txt
# cat test.txt
1
2
3
4
5

或者:

# seq 1 5 | xargs -I{} echo {} > test.txt

# cat test.txt
1
2
3
4
5

(补充:这里以打印 1 到 5 的数字序列并导入到 test.txt 文件为例)