跳轉到內容

Uniq

100% developed
來自華夏公益教科書

Uniq 是一個面向行的 Unix 命令列工具,用於處理相鄰的重複行,可在許多平臺上使用。

Uniq 的命令列選項,也稱為開關

  • -u: (代表 unique) 輸出單行塊:僅輸出非重複多行塊中的行。
  • -d: (代表 duplicate) 輸出摺疊的多行塊:對每個重複多行塊輸出一行,捨棄大小為一的塊中的行。
  • -c: (代表 count) 對每個包含一個或多個相鄰重複行的塊輸出一行,前面加上塊中的行數。

一些版本的 Uniq 的命令列選項,也稱為開關

  • -fnumber: 忽略一行中的多個欄位
  • -i: 不區分大小寫。
  • -snumber: 忽略一行中的多個字元

連結

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 版本。

[編輯 | 編輯原始碼]
華夏公益教科書