Shell編程中,Sort和uniq爲什麼總是結對使用

一直沒有怎麼寫過腳本,最近趕鴨子上架,要寫一個統計用戶訪問次數的腳本。因爲用戶在日誌會出現多次,需要按照手機號碼進行一下去重。結果用到了sort和uniq兩個命令。當時對於這兩個命令爲什麼需要聯合使用比較模糊,今天總結一下。

提示:uniq去重功能,只能針對連續的多行進行去重,只剩下唯一的一條。

比如有如下的文件happy.txt,文件內容如下
Happy Birthday to You!
Happy Birthday to You!
Happy Birthday Dear Tux!
Happy Birthday to You!

如果需要將文件內容去重,我們看一下單用uniq和將sort與uniq結合用的差別。
cat happy.txt |uniq

結果如下
Happy Birthday to You!
Happy Birthday Dear Tux!
Happy Birthday to You!

先排序再去重
cat happy.txt |sort|uniq

結果如下
Happy Birthday Dear Tux!
Happy Birthday to You!


看了上面的測試結果,大家應該明白了,sort是爲了將相同內容的行排列在一起,然後使用uniq將相同的行進行去重,進而達到去重的目的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章