sort,uniq,cut常用指令

sort:

排序所有指定文件并将结果写到标准输出。

-u:去除重复行

-r:反向排序

-n:数值排序从小到大

-t:指定分段的符号

-k:指定的第几个段

-b:忽略所有空白行

 

 [root@station141 ~]# sort Andy.txt
1
2
2
34
56
accp
benet
I'm sorry, Mr.
Three pineapple
Two watermelon
Water on the refrigerator
[root@station141 ~]# sort -u Andy.txt  去掉重复行
1
2
34
56
accp
benet
I'm sorry, Mr.
Three pineapple
Two watermelon
Water on the refrigerator
[root@station141 ~]# sort -r Andy.txt反向查询
Water on the refrigerator
Two watermelon
Three pineapple
I'm sorry, Mr.
benet
accp
56
34
2
2
1
 [root@station141 ~]# sort -n Andy.txt
accp
benet
I'm sorry, Mr.
Three pineapple
Two watermelon
Water on the refrigerator
1
2
2
34
56
89

 

uniq等同于sort -u

 

-u:只显示不重复的行

-d:只显示重复的行

-c:显示出现几次

 

[root@station141 ~]# uniq Andy.txt
benet
accp
Water on the refrigerator
I'm sorry, Mr.
Two watermelon
Three pineapple
1
89
2
34
56
[root@station141 ~]# uniq -u Andy.txt
benet
accp
Water on the refrigerator
I'm sorry, Mr.
Two watermelon
Three pineapple
1
89
34
56
[root@station141 ~]# uniq -d Andy.txt
2
[root@station141 ~]# uniq -c Andy.txt
      1 benet
      1 accp
      1 Water on the refrigerator
      1 I'm sorry, Mr.
      1 Two watermelon
      1 Three pineapple
      1 1
      1 89
      2 2
      1 34
      1 56

 

 

cut:选取命令,把数据分析后,取出所需

-c:以字符为单位进行分割

-f:与-d一起使用,显示哪个区域

-d:自定义分割符。

-n:取消分割多字节字符

-b:以字节为单位进行分割

[root@station141 ~]# echo 12:00:01 | cut -d ':' -f 1
12
[root@station141 ~]# echo 12:00:01 | cut -d ':' -f 1-
12:00:01

paste:将文件的行进行合并

-d:指定两个文件的行合并后的分割符

-s:将每个文件合并为一行,而不是按行进行合并

[root@station141 ~]# paste -d: Andy.txt Andy1.txt 
benet:afsdfsdf 
[root@station141 ~]# paste -s Andy.txt Andy1.txt

join:将两个排序的文件相同内容合并为一个文件

-an:显示文件n中不匹配的文件行

-t:定义分隔符

[root@station141 ~]# vim 2.txt
1
2
3
4
5
6
7
8
9
0 
[root@station141 ~]# vim 1.txt
o
1
2
3
4
5
6
[root@station141 ~]# join 1.txt 2.txt
1
2
3
4
5
6
7

diff:文件相比较,找出不同点。

 和join完全相反
[root@station141 ~]# diff 1.txt 2.txt 
9c9,11
< 
---
> 8
> 9
> 0

 

 

你可能感兴趣的:(sort,uniq,cut常用指令)