轉載地址:http://blog.csdn.net/zzxian/article/details/7200046
uniq [選項] 檔案
說明:這個命令讀取輸入檔案,並比較相鄰的行。在正常情況下,第二個及以後更多個重複行將被刪去,行比較是根據所用字元集的排序序列進行的。該命令加工後的結果寫到輸出檔案中。輸入檔案和輸出檔案必須不同。如果輸入檔案用“- ”表示,則從標準輸入讀取。
該命令各選項含義如下:、
– c 顯示輸出中,在每行行首加上本行在檔案中出現的次數。它可取代- u和- d選項。
– d 只顯示重複行。
– u 只顯示檔案中不重複的各行。
– n 前n個欄位與每個欄位前的空白一起被忽略。一個欄位是一個非空格、非定位字元的字串,彼此由定位字元和空格隔開(欄位從0開始編號)。
+n 前n個字元被忽略,之前的字元被跳過(字元從0開始編號)。
– f n 與- n相同,這裡n是欄位數。
– s n 與+n相同,這裡n是字元數。
接下來通過實踐執行個體說明:
===========================================
[root@stu100 ~]# cat testboy took bat homeboy took bat homegirl took bat homeboy took bat homeboy took bat homedog brought hat homedog brought hat homedog brought hat home
看test檔案的內容
============================================
[root@stu100 ~]# uniq testboy took bat homegirl took bat homeboy took bat homedog brought hat home
uniq命令不加任何參數,僅顯示連續重複的行一次
============================================
[root@stu100 ~]# uniq -c test2 boy took bat home1 girl took bat home2 boy took bat home3 dog brought hat home1
-c 參數顯示檔案中每行連續出現的次數。
============================================
[root@stu100 ~]# cat test |sort | uniq -c14 boy took bat home3 dog brought hat home1 girl took bat home
排序後再顯示
============================================
[root@stu100 ~]# uniq -d testboy took bat homeboy took bat homedog brought hat home
-d選項僅顯示檔案中連續重複出現的行。
============================================
[root@stu100 ~]# uniq -u testgirl took bat home
-u選項顯示檔案中沒有連續出現的行。
============================================
[root@stu100 ~]# uniq -f 2 -s 2 testboy took bat home
忽略每行的前2個欄位,忽略第二 個空白字元和第三個欄位的首字元,結果at home
============================================
[root@stu100 ~]# uniq -f 1 testboy took bat homedog brought hat home
忽 略每行的第一個欄位,這樣boy ,girl開頭的行看起來是連續重複的行。
============================================
[root@stu100 ~]# uniq -D testboy took bat homeboy took bat homeboy took bat homeboy took bat homedog brought hat homedog brought hat homedog brought hat home
顯示所有重複的行,每個重複的行都顯示