Unix/Linux 的 uniq 指令使用
uniq 以行為單位找出相鄰的重複行,因為只比較相鄰行所以常搭配 sort 使用。
uniq 的語法如下
SYNOPSIS
uniq [OPTION]... [INPUT [OUTPUT]]
INPUT 是輸入檔案,不指定時讀取標準輸入;OUTPUT 是輸出檔案,預設輸出到標準輸出。
資訊
再次提醒,別忘了 uniq 只尋找相鄰的重複而不是比較整個檔案。
常用參數
-c:在每行前面顯示該行重複的次數-d:只顯示重複出現的行(出現次數≥2)-u:只顯示不重複的行(出現次數=1)-i:忽略大小寫差異比較行-f N:比較時忽略每行前面 N 個字元-s N:比較時忽略每行前面 N 個字元,類似-f但不跳過欄位,只是字元數
常用範例
以 file.txt 內容如下為例
1 cherry
3 apple
2 banana
1 cherry
計算每行出現次數
sort file.txt | uniq -c
輸出
3 apple
2 banana
1 cherry
只顯示重複行
sort file.txt | uniq -d
輸出
1 cherry
如果使用 cat file.txt | uniq -d 則不會有輸出。