實(shí)例解說Linux命令行uniq
uniq [選項(xiàng)] 文件
說明:這個(gè)命令讀取輸入文件,并比較相鄰的行。在正常情況下,第二個(gè)及以后更多個(gè)重復(fù)行將被刪去,行比較是根據(jù)所用字符集的排序序列進(jìn)行的。該命令加工后的結(jié)果寫到輸出文件中。輸入文件和輸出文件必須不同。如果輸入文件用“- ”表示,則從標(biāo)準(zhǔn)輸入讀取。
該命令各選項(xiàng)含義如下:、
– c 顯示輸出中,在每行行首加上本行在文件中出現(xiàn)的次數(shù)。它可取代- u和- d選項(xiàng)。
– d 只顯示重復(fù)行。
– u 只顯示文件中不重復(fù)的各行。
– n 前n個(gè)字段與每個(gè)字段前的空白一起被忽略。一個(gè)字段是一個(gè)非空格、非制表符的字符串,彼此由制表符和空格隔開(字段從0開始編號)。
+n 前n個(gè)字符被忽略,之前的字符被跳過(字符從0開始編號)。
– f n 與- n相同,這里n是字段數(shù)。
– s n 與+n相同,這里n是字符數(shù)。
接下來通過實(shí)踐實(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ù)重復(fù)的行一次
============================================
[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選項(xiàng)僅顯示文件中連續(xù)重復(fù)出現(xiàn)的行。
============================================
[root@stu100 ~]# uniq -u test girl took bat home
-u選項(xiàng)顯示文件中沒有連續(xù)出現(xiàn)的行。
============================================
[root@stu100 ~]# uniq -f 2 -s 2 test boy took bat home
忽略每行的前2個(gè)字段,忽略第二 個(gè)空白字符和第三個(gè)字段的首字符,結(jié)果at home
============================================
[root@stu100 ~]# uniq -f 1 test boy took bat home dog brought hat home
忽 略每行的***個(gè)字段,這樣boy ,girl開頭的行看起來是連續(xù)重復(fù)的行。
============================================
[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
顯示所有重復(fù)的行,每個(gè)重復(fù)的行都顯示
原文:http://www.liangkun.net/archives/683.html
【編輯推薦】