Sort使用
使用 sort -u
和 sort | 的區別唯一的-u
我在探索 bash 時進入了一個關卡,該關卡包括查找在某個文件中僅出現一次的文本行。
為什麼
sort -u file
命令的輸出與 的輸出不同sort file| uniq -u
?他們不應該是一樣的嗎?
sort -u
並且sort | uniq
確實產生相同的輸出*:輸入中的所有行,每行恰好一次,按升序排列。這是 的預設行為uniq
。**
-u
**禁止寫入輸入中重複的行。這是一種非常不同的行為:只輸出不重複的行。當文件首先被排序時,這意味著在整個文件中只出現一次的行(這是你想要的)。
*關於如何
sort
和uniq
考慮平等有一些注意事項,Stéphane 在對相關問題的回答中指出了這一點。對於 POSIX 語言環境或某種規範化形式的文件,它們是相同的;對於其他人,可能存在明顯差異。