Linux面試指令---uniq指令

uniq 命令

       uniq 命令經常和 sort 命令結合在一起使用。uniq 從標準輸入或單個文件名參數接受數據有序列表,默認情況下,從數據列表中刪除任何重複行。uniq 只能用於排過序的數據輸入,因此,uniq 要麼使用管道,要麼將排過序的文件作爲輸入,並總是以這種方式與 sort 命令結合起來使用。uniq 命令是 unique 的縮寫。

(1)命令格式

         uniq [選項] [文件名]

(2)常用參數

參數 描述
-c 在每行前加上表示相應行目出現次數的前綴編號
-d 只輸出重複的行
-u 只顯示唯一的行
-D 顯示所有重複的行
-f 比較時跳過前 n 列
-i 在比較的時候不區分大小寫
-s 比較時跳過前 n 個字符
-w 對每行第 n 個字符以後的內容不作對照

(3)常用範例

         例一:找出/bin 目錄和/usr/bin 目錄下所有相同的命令,可以使用如下命令:

ls /bin /usr/bin  | sort | uniq -d

        例二:現有文件內容如下,紅色方框裏的內容表示區號,現在要統計出各個區號的總人數。 

       實現思路:首先按區號對每行信息排序,然後使用 uniq 命令對區號進行重複行統計。使用命令如下:

sort -k 4.1n student.txt | uniq -c -f 3 -w 2

      sort -k 4.1n,4.1n 表示對第四個字段的第一個字符按數值排序。

      uniq -c -f 3 -w 2 中-f 3 表示跳過前三列的比較,那麼現在只剩下最後一列,-w 2 表示第 2 個字符後的內容不做比較,爲什麼是 2 呢,因爲跳過前三列時並沒有跳過最後一列前面的空格分隔符,區號前都還有一個空格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章