Uniq
外觀
Uniq 是一個面向行的 Unix 命令列工具,用於處理相鄰的重複行,可在許多平臺上使用。
Uniq 的命令列選項,也稱為開關
- -u: (代表 unique) 輸出單行塊:僅輸出非重複多行塊中的行。
- -d: (代表 duplicate) 輸出摺疊的多行塊:對每個重複多行塊輸出一行,捨棄大小為一的塊中的行。
- -c: (代表 count) 對每個包含一個或多個相鄰重複行的塊輸出一行,前面加上塊中的行數。
一些版本的 Uniq 的命令列選項,也稱為開關
- -fnumber: 忽略一行中的多個欄位
- -i: 不區分大小寫。
- -snumber: 忽略一行中的多個字元
連結
- 使檔案唯一,coreutils,gnu.org
Uniq 使用的示例
- uniq file.txt
- 在相鄰的一個或多個重複行中,只輸出其中一行。
- sort file.txt | uniq
- 排序後,在重複行中,只輸出其中一行。排序可以確保原本不相鄰但相同的行變為相鄰。
- sort file.txt | uniq -u
- 僅輸出單行塊。
- sort file.txt | uniq -d
- 對每個多行塊輸出一行,過濾掉單行塊。
- sort file.txt | uniq -c
- 在每行前面加上塊大小。
- sort file.txt | uniq -c | sort
- 在每行前面加上塊大小,並按塊大小對結果進行排序。排序有效,因為 uniq 輸出的塊大小前面有空格,以便排序。
- sort file.txt | uniq -u -d
- 在 GNU uniq 中,不輸出任何內容,因為兩個選項都充當過濾器,組合起來會過濾掉所有內容。
可以在 GnuWin32 專案 和 Cygwin 中找到適用於 MS Windows 的 GNU uniq 版本。
- GNU Coreutils 在 gnu.org
- uniq(1) OS X 手冊頁 在 developer.apple.com
- Unix uniq(1) 手冊頁 在 man.cat-v.org
- W:uniq