linux中sort、uniq、cut、tr、wc命令的使用
文本处理命令
1.sort命令
使用场景 : 用于将文件内容加以排序(可以和cat一起用)
参数 | 作用 |
---|---|
-n | 依照数值的大小排序 |
-r | 以相反的顺序来排序(默认只比较第一个数,-rn是按所有数值比较) |
-k | 以某列进行排序 |
-t | 指定分割符,默认是以空格为分隔符 |
补充: 在vim编辑文本里 末行模式下输入 1,% s/空格*/|/g 会把所有的字符中间添加 | 符号.
[root@zonghan ~]# cat 1.txt
345235
14
346537
465
732
421
543
645
6
214756
97
231
24654
12
4
[root@zonghan ~]# cat 1.txt | sort -n
4
6
12
14
97
231
421
465
543
645
732
24654
214756
345235
346537
[root@zonghan ~]# cat 1.txt | sort -r
97
732
645
6
543
465
421
4
346537
345235
24654
231
214756
14
12
2.uniq 命令
用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用
参数 | 作用 |
---|---|
-c | 在每列旁边显示该行重复出现的次数 |
-d | 仅显示重复出现的行列 |
-u | 仅显示出一次的行列 |
[root@zonghan ~]# cat 4.txt
123
123
123
321
231
32
123
231
[root@zonghan ~]# cat 4.txt | sort -n | uniq -c # 在每列旁边显示该行重复出现的次数
1 32
4 123
2 231
1 321
[root@zonghan ~]# cat 4.txt | sort -n | uniq -d # 仅显示重复出现的行列
123
231
[root@zonghan ~]# cat 4.txt | sort -n | uniq -u # 仅显示出一次的行列
32
321
3.cut命令
cut命令用来显示行中的指定部分,删除文件中指定字段
参数 | 作用 |
---|---|
-d | 指定字段的分隔符,默认的字段分隔符为"TAB" |
-f | 显示指定字段的内容 |
[root@zonghan ~]# cat 1.txt
|3|4|5|2|3|5|5|3|5|7|6|5|7|6|5|8
|1|4|2|3|5|3|4|6|5|4|6|8|7
|3|4|6|5|3|7|3|7|8|9|7|9|8|7|3|2
|4|6|5|2|3|5|6|8|2|4|7|6|7
|7|3|2|1|2|3|9|9|2|3|5|4|3
|4|2|1|1|2|5|4|3|7|7|6|5|3|2
|5|4|3|6|7|9|6|7|7
|6|4|5|1|2|5|6|8|6|5
[root@zonghan ~]# cat 1.txt | tr '|' '-'
-3-4-5-2-3-5-5-3-5-7-6-5-7-6-5-8
-1-4-2-3-5-3-4-6-5-4-6-8-7
-3-4-6-5-3-7-3-7-8-9-7-9-8-7-3-2
-4-6-5-2-3-5-6-8-2-4-7-6-7
-7-3-2-1-2-3-9-9-2-3-5-4-3
-4-2-1-1-2-5-4-3-7-7-6-5-3-2
-5-4-3-6-7-9-6-7-7
-6-4-5-1-2-5-6-8-6-5
4.tr命令
替换或删除命令
默认: 替换字符
参数: -d # 删除字符
5.wc命令
用来统计,计算数字
参数 | 作用 |
---|---|
-c | 统计文件的Bytes数 |
-l | 统计文件内容的行数 |
-w | 统计文件中单词的个数,默认以空白字符做为分隔符 |
# 统计文件的Bytes数
[root@zonghan ~]# cat 5.txt
123456
[root@zonghan ~]# cat 5.txt | wc -c # 统计字节数(这里光标也会占1个字节)
7
# 统计文件的行数
[root@zonghan ~]# cat 5.txt
123456
235
6547
7623
235
[root@zonghan ~]# cat 5.txt | wc -l # 统计文件内容的行数
5
# 统计文件中单词的个数
[root@zonghan ~]# cat 5.txt
123456 235 678
235 34
6547 235
7623
235 dfg
[root@zonghan ~]# cat 5.txt | wc -w # 统计文件中单词的个数
10