測試文件
復(fù)制代碼 代碼如下:
[root@bogon ~]# cat >test
jason
jason
jason
fffff
jason
按 Ctr + D保存
1、sort -u
復(fù)制代碼 代碼如下:
[root@bogon ~]# sort -u test
fffff
jason
2、uniq
復(fù)制代碼 代碼如下:
[root@bogon ~]# uniq test
jason
fffff
jason
由此可見,uniq需要先排序后才能去重
3、sort、管道和uniq結(jié)合運用
去除重復(fù)并保留一份重復(fù)的數(shù)據(jù)
復(fù)制代碼 代碼如下:
[root@bogon ~]# sort test|uniq
fffff
jason
去除所有重復(fù)的行(不保留重復(fù)的行),并計算行數(shù)
復(fù)制代碼 代碼如下:
[root@bogon ~]# sort test|uniq -uc
1 fffff
找出所有重復(fù)的行,并計算行數(shù)
復(fù)制代碼 代碼如下:
[root@bogon ~]# sort test|uniq -dc
4 jason
根據(jù)某個字段去重
將原有數(shù)據(jù)改為
復(fù)制代碼 代碼如下:
[root@bogon ~]# more test
jason 1
jason 2
jason 1
fffff 2
jason 3
[root@bogon ~]# sort -k 1,1 -u test
fffff 2
jason 1
man sort查看sort的用法,-k參數(shù)是這么描述的:
復(fù)制代碼 代碼如下:
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line)
也就是說-k哪幾個列進行排序,pos1是開始列,pos2是結(jié)束列