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 目錄下所有相同的命令,可以使用如下命令:
例二:現有檔案內容如下,紅色方框裡的內容表示區號,現在要統計出各個區號的總人數。
實現思路:首先按區號對每行資訊排序,然後使用 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 呢,因為跳過前三列時並沒有跳過最後一列前面的空格分隔符,區號前都還有乙個空格。
Linux面試指令 cp指令
cp 命令用來複製檔案或者目錄,是 linux 系統中最常用的命令之一。一般情況下,shell 會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i 引數。但是如果是在 shell 指令碼中執行 cp 時,沒有 i 引數時不會詢問是否覆蓋。這說明命令列和 ...
Linux面試指令 nl指令
nl 命令在 linux 系統中用來計算檔案中行號。nl 可以將輸出的檔案內容自動的加上行號。其預設的結果與 cat n 有點不太一樣,nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。nl 命令是 number of lines 的縮寫。1 命令格式 nl 選項 檔案 2...
Linux面試指令 cut指令
cut 命令是乙個將文字按列進行切分的小工具,它可以指定分隔每列的定界符。如果一行資料報含多個字段 多列 現在想要提取其中的一列或多列,這是 cut 命令就可以大顯身手了。1 命令格式 cut 選項 檔名 2 常用引數引數 描述 b 以位元組為單位進行分割 c以字元為單位進行分割 d自定義分隔符,預...