概述
`uniq` 通常與 `sort` 命令一起通過管道符號 (|) 連接使用,以有效處理排序數據中的重複行。`-c` 選項可以輕鬆查看重複行的數量。
主要特點
- 處理連續重複的行
- 計算重複行的數量 (-c)
- 忽略大小寫選項 (-i)
- 忽略特定欄位或字元進行比較
主要選項
功能
比較方式
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`uniq` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
計算檔案中單字的頻率
sort words.txt | uniq -c
計算 `words.txt` 檔案中每個單字(行)出現的次數。由於 `uniq` 只處理連續重複的行,因此需要先使用 `sort` 將所有重複的行排列在一起。
查找日誌檔中出現次數最多的行
cat log.txt | sort | uniq -c | sort -nr
計算日誌檔中重複行的數量,然後根據計數(數字)對結果進行降序排序,以顯示出現次數最多的行。
忽略大小寫計算重複行的數量
echo -e "Apple\napple\nBanana\napple" | sort | uniq -ci
將標準輸入中的 'Apple' 和 'apple' 視為相同,計算並輸出重複的數量。
忽略特定欄位計算重複行的數量
sort -k2 data.txt | uniq -f 1 -c
忽略檔案的第一個欄位,從第二個欄位開始比較,計算重複行的數量並輸出。例如,如果 `data.txt` 的內容是 `ID1 apple`, `ID2 apple`,則 'apple' 會被計算為 2 次。
提示與注意事項
`uniq` 命令預設只處理「連續」重複的行。因此,如果需要處理整個檔案的重複行或計算其數量,必須先使用 `sort` 命令對行進行排序。
使用技巧
- 與 sort 一起使用: `uniq` 只處理連續重複的行,因此要處理整個檔案的重複,必須先用 `sort` 排序。例如:`sort file.txt | uniq -c`
- 查找出現次數最多的項目: 可以將 `uniq -c` 的結果通過管道傳遞給 `sort -nr`,以按出現次數降序排列。例如:`sort file.txt | uniq -c | sort -nr`
- 考慮效能: 對於非常大的檔案,需要考慮 `sort` 和 `uniq` 的記憶體使用量。如有需要,可以使用 `sort` 的 `-T` 選項指定臨時目錄。