Uniq
uniq 怎麼不夠獨特以至於還有 uniq –unique?
以下是來自pastebin的隨機文件的命令:
wget -qO - http://pastebin.com/0cSPs9LR | wc -l 350 wget -qO - http://pastebin.com/0cSPs9LR | sort -u | wc -l 287 wget -qO - http://pastebin.com/0cSPs9LR | sort | uniq | wc -l 287 wget -qO - http://pastebin.com/0cSPs9LR | sort | uniq -u | wc -l 258
手冊頁不清楚
-u
標誌在做什麼。有什麼建議嗎?
uniq
with-u
跳過任何有重複的行。因此:$ printf "%s\n" 1 1 2 3 | uniq 1 2 3 $ printf "%s\n" 1 1 2 3 | uniq -u 2 3
通常,
uniq
最多列印一次(假設輸入已排序)。這個選項實際上列印了真正獨特的行(沒有再次出現)。
簡潔版本:
uniq
, 沒有, 使輸出-u
的每一行都是唯一的。uniq -u
僅列印input 中的每個唯一行。稍長的版本:
uniq
用於處理具有重複行的文件,並且僅當這些行連續出現在輸入中時。因此,就其目的而言,唯一行是不會立即複製的行。(
uniq
具有非常有限的短期記憶;它永遠不會記住一行是否出現在輸入的前面,除非它是前一行——這就是為什麼uniq
經常與sort
.)當遇到一連串重複的行時
uniq
,不帶-u
arg 的 列印該行的一個副本。(它使輸出的每一行都是唯一的)。使用該
-u
參數,它會列印該行的零個副本——重複的執行只會從輸出中省略。