shell腳本去重的幾種方法

  • 測試文件
[root@bogon ~]# cat >test
jason
jason
jason
fffff
jason

按 Ctr + D保存測試

一、sort -uspa

[root@bogon ~]# sort -u test
fffff
jason

二、uniqcode

[root@bogon ~]# uniq test
jason
fffff
jason

因而可知,uniq須要先排序後才能去重blog

三、sort、管道和uniq結合運用排序

  •   去除重複並保留一份重複的數據
[root@bogon ~]# sort test|uniq
fffff
jason
  •   去除全部重複的行(不保留重複的行),並計算行數
[root@bogon ~]# sort test|uniq -uc
      1 fffff
  •   找出全部重複的行,並計算行數
[root@bogon ~]# sort test|uniq -dc
      4 jason
  •   根據某個字段去重

  將原有數據改成it

[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參數是這麼描述的:class

    -k, --key=POS1[,POS2]
    start a key at POS1 (origin 1), end it at POS2 (default end of line)test

  也就是說-k哪幾個列進行排序,pos1是開始列,pos2是結束列數據

相關文章
相關標籤/搜索