Sort

使用 sort -usort | 的區別唯一的-u

  • September 25, 2017

我在探索 bash 時進入了一個關卡,該關卡包括查找在某個文件中僅出現一次的文本行。

為什麼sort -u file命令的輸出與 的輸出不同sort file| uniq -u?他們不應該是一樣的嗎?

sort -u並且sort | uniq 確實產生相同的輸出*:輸入中的所有行,每行恰好一次,按升序排列。這是 的預設行為uniq

uniq -u,另一方面,要求

**-u**禁止寫入輸入中重複的行。

這是一種非常不同的行為:只輸出重複的行。當文件首先被排序時,這意味著在整個文件中只出現一次的行(這是你想要的)。


*關於如何sortuniq考慮平等有一些注意事項,Stéphane 在對相關問題的回答中指出了這一點。對於 POSIX 語言環境或某種規範化形式的文件,它們是相同的;對於其他人,可能存在明顯差異。

引用自:https://unix.stackexchange.com/questions/394203