排序sort && 取消重复行uniq


sort格式: sort 选项 文件名

选项
-f     忽略大小写
-t     指定分隔符,默认是制表符
-b     忽略每行前面的空白部分
-n     以数值排序,默认字符串排序
-r     反向排序
-u     删除重复行



实验sort

对文件etc/passwd进行排序

[root@linux Desktop]# sort /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:994:993::/var/lib/chrony:/sbin/nologin
.
.
.
user2:x:1001:1002::/home/user2:/bin/bash
user:x:1000:1000:user:/home/user:/bin/bash



sort -r

对文件etc/passwd进行反向排序

user:x:1000:1000:user:/home/user:/bin/bash
user2:x:1001:1002::/home/user2:/bin/bash
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:998:997:Unbound DNS resolver:/etc/unbound:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
.
.
.
bin:x:1:1:bin:/bin:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin



sort -t

对文件use-cut以":"为分隔符   第二字段进行排序

[root@linux Desktop]# cat use-cut
11  :   dwwer   :   1e45      : 4rty 
10  :   cretf   :   2wdfg     : 3wefr
6   :   bwerw   :   3rt       : 2gher
56  :   arewr   :   4thret3   : 1rfd

[root@linux Desktop]# sort -t ":" -k 1,1 use-cut
10  :   cretf   :   2wdfg     : 3wefr
11  :   dwwer   :   1e45      : 4rty 
56  :   arewr   :   4thret3   : 1rfd
6   :   bwerw   :   3rt       : 2gher

注:上面排序是按照字符串排序的,若要按数值排序则 sort -n就行了
[root@linux Desktop]# cat use-cut
11  :   dwwer   :   1e45      : 4rty 
10  :   cretf   :   2wdfg     : 3wefr
6   :   bwerw   :   3rt       : 2gher
56  :   arewr   :   4thret3   : 1rfd

[root@linux Desktop]# sort  -n -t ":" -k 1,1 use-cut
6   :   bwerw   :   3rt       : 2gher
10  :   cretf   :   2wdfg     : 3wefr
11  :   dwwer   :   1e45      : 4rty 
56  :   arewr   :   4thret3   : 1rfd



实验sort -u   相当于uniq

对文件etc/passwd删除重复的行,并排序

[root@linux Desktop]# cat use-cut
11  :   dwwer   :   1e45      : 4rty 
10  :   cretf   :   2wdfg     : 3wefr
6   :   bwerw   :   3rt       : 2gher
56  :   arewr   :   4thret3   : 1rfd
56  :   5dfkgl  :   4thret3   : 1rfd
6   :   bwerw   :   3rt       : 2gher


[root@linux Desktop]# sort  -u -t ":" -k 1,1 use-cut
10  :   cretf   :   2wdfg     : 3wefr
11  :   dwwer   :   1e45      : 4rty 
56  :   arewr   :   4thret3   : 1rfd
6   :   bwerw   :   3rt       : 2gher


[root@linux Desktop]# sort  -u -t ":" -k 2,2 use-cut
56  :   5dfkgl  :   4thret3   : 1rfd
56  :   arewr   :   4thret3   : 1rfd
6   :   bwerw   :   3rt       : 2gher
10  :   cretf   :   2wdfg     : 3wefr
11  :   dwwer   :   1e45      : 4rty 


posted @ 2020-11-15 20:13  加油酱  阅读(162)  评论(0编辑  收藏  举报