主頁 > 知識庫 > Linux系統(tǒng)中uniq命令的基本使用教程

Linux系統(tǒng)中uniq命令的基本使用教程

熱門標簽:外呼系統(tǒng) 家政服務(wù)網(wǎng)絡(luò) 解決方案 美團 硅谷的囚徒呼叫中心 電話機器人搭建 百度競價點擊價格的計算公式 服務(wù)器配置

uniq [選項] 文件

說明:這個命令讀取輸入文件,并比較相鄰的行。在正常情況下,第二個及以后更多個重復行將被刪去,行比較是根據(jù)所用字符集的排序序列進行的。該命令加工后的結(jié)果寫到輸出文件中。輸入文件和輸出文件必須不同。如果輸入文件用“- ”表示,則從標準輸入讀取。

該命令各選項含義如下:、

– c 顯示輸出中,在每行行首加上本行在文件中出現(xiàn)的次數(shù)。它可取代- u和- d選項。

– d 只顯示重復行。

– u 只顯示文件中不重復的各行。

– n 前n個字段與每個字段前的空白一起被忽略。一個字段是一個非空格、非制表符的字符串,彼此由制表符和空格隔開(字段從0開始編號)。

+n 前n個字符被忽略,之前的字符被跳過(字符從0開始編號)。

– f n 與- n相同,這里n是字段數(shù)。

– s n 與+n相同,這里n是字符數(shù)。

接下來通過實踐實例說明:

復制代碼
代碼如下:

[root@stu100 ~]# cat test
boy took bat home
boy took bat home
girl took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

看test文件的內(nèi)容


復制代碼
代碼如下:

[root@stu100 ~]# uniq test
boy took bat home
girl took bat home
boy took bat home
dog brought hat home

uniq命令不加任何參數(shù),僅顯示連續(xù)重復的行一次


復制代碼
代碼如下:

[root@stu100 ~]# uniq -c test
2 boy took bat home
1 girl took bat home
2 boy took bat home
3 dog brought hat home
1

-c 參數(shù)顯示文件中每行連續(xù)出現(xiàn)的次數(shù)。


復制代碼
代碼如下:

[root@stu100 ~]# cat test |sort | uniq -c
1
4 boy took bat home
3 dog brought hat home
1 girl took bat home

排序后再顯示


復制代碼
代碼如下:

[root@stu100 ~]# uniq -d test
boy took bat home
boy took bat home
dog brought hat home

-d選項僅顯示文件中連續(xù)重復出現(xiàn)的行。



復制代碼
代碼如下:

[root@stu100 ~]# uniq -u test
girl took bat home

-u選項顯示文件中沒有連續(xù)出現(xiàn)的行。


復制代碼
代碼如下:

[root@stu100 ~]# uniq -f 2 -s 2 test
boy took bat home

忽略每行的前2個字段,忽略第二 個空白字符和第三個字段的首字符,結(jié)果at home


復制代碼
代碼如下:

[root@stu100 ~]# uniq -f 1 test
boy took bat home
dog brought hat home

忽 略每行的第一個字段,這樣boy ,girl開頭的行看起來是連續(xù)重復的行。


復制代碼
代碼如下:

[root@stu100 ~]# uniq -D test
boy took bat home
boy took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

顯示所有重復的行,每個重復的行都顯示


當你有一個包含相同條目的雇員(employee)的文件,你可以以如下方式來刪除相同的條目

復制代碼
代碼如下:

$ sort namesd.txt | uniq
$ sort –u namesd.txt

如果你想知道有多少行是相同的,可以像下面這個做。以下例子中的第一列顯示該行的重復數(shù)量。在本例中,以Alex和Emma開頭的行,在文件中有兩個重復行。

復制代碼
代碼如下:

$ sort namesd.txt | uniq –c
2 Alex Jason:200:Sales
2 Emma Thomas:100:Marketing
1 Madison Randy:300:Product Development
1 Nisha Singh:500:Sales
1 Sanjay Gupta:400:Support

3. 以下命令僅僅列出了相同的條目

復制代碼
代碼如下:

$ sort namesd.txt | uniq –cd
2 Alex Jason:200:Sales
2 Emma Thomas:100:Marketing

標簽:南昌 臨沂 撫州 防城港 韶關(guān) 北海 邢臺 烏蘭察布

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux系統(tǒng)中uniq命令的基本使用教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266