歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux下uniq命令詳解

uinq是unique的簡寫。
 
一.介紹
 
功能說明:檢查及刪除文本文件中重復出現的行列
 
 
 
二.語法
 
語  法:uniq [-cdu][-f<欄位>][-s<字符位置>][-w<字符位置>][--help][--version][輸入文件][輸出文件]
 
補充說明:uniq可檢查文本文件中重復出現的行列。
 
 
 
三.常用參數:
 
-c 顯示輸出中,在每行行首加上本行在文件中出現的次數(count)。它可取代-u加-d。
 
-d 只顯示重復行。
 
-u 只顯示文件中不重復的各行。
 
-n 前n個字段與每個字段前的空白一起被忽略。一個字段是一個非空格、非制表符的字符串,彼此由制表符和空格隔開(字段從0開始編號)。
 
+n 前n個字符被忽略,之前的字符被跳過(字符從0開始編號)。
 
-f n 與-n相同,這裡n是字段數。
 
-s n 與+n相同,這裡n是字符數。
 
 
 
四.實例詳解
 
uniq.txt的原文如下:
 
 
 
[root@umail39 tmp]#cat uniq.txt
 
this is a test
 
this is a test
 
This is a test
 
i love you
 
i love you
 
we are good
 
this is a pen
 
i do not know
 
this is a pen
 
 www.2cto.com
 
 
 
1.在每行前加上表示相應行目出現次數,但只會檢查相鄰重復的行。
 
[root@umail39 tmp]#uniq -c uniq.txt
 
      2 this is a test
 
      1 This is a test
 
      2 i love you
 
      1 we are good
 
      1 this is a pen
 
      1 i do not know
 
      1 this is a pen
 
 
 
 
 
2.,-f 1 忽略了第一列,檢查重復從第二字段開始的,檢查的時候,不區分大小寫.
 
[root@umail39 tmp]#uniq -f 1 -c uniq.txt
 
      3 this is a test
 
      2 i love you
 
      1 we are good
 
      1 this is a pen
 
      1 i do not know
 
      1 this is a pen
 
 
 
 
 
3.檢查的時候,不考慮前4個字符
 
[root@umail39 tmp]#uniq -s 4 -c uniq.txt
 
      3 this is a test
 
      2 i love you
 
      1 we are good
 
      1 this is a pen
 
      1 i do not know
 
      1 this is a pen
 
 
 
 
 
4.去重復的項,然後全部顯示出來
 
[root@umail39 tmp]#uniq  -u uniq.txt
 
This is a test
 
we are good
 
this is a pen
 
i do not know
 
this is a pen
 
 
 
 
 
5.對每行第2個字符以後的內容不作檢查
 
[root@umail39 tmp]#uniq -w 2 -c uniq.txt 
 
      2 this is a test
 
      1 This is a test
 
      2 i love you
 
      1 we are good
 
      1 this is a pen
 
      1 i do not know
 
      1 this is a pen


摘自 andy572633的專欄
Copyright © Linux教程網 All Rights Reserved