Linux命令之uniq命令使用详解

uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

语法:uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

补充说明:uniq可检查文本文件中重复出现的行列。

参数:
-c或--count   在每列旁边显示该行重复出现的次数。
-d或--repeated   仅显示重复出现的行列。
-f<栏位>或--skip-fields=<栏位>   忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置>   忽略比较指定的字符。
-u或--unique   仅显示出一次的行列。
-w<字符位置>或--check-chars=<字符位置>   指定要比较的字符。
--help   显示帮助。
--version   显示版本信息。

[输入文件]   指定已排序好的文本文件。

[输出文件]   指定输出的文件。 uniq命令的作用:显示唯一的行,对于那些连续重复的行只显示一次!

以下是一些常见的例子。

当你有一个包含相同条目的雇员(employee)的文件,你可以以如下方式来删除相同的条目

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

如果你想知道有多少行是相同的,可以像下面这个做。以下例子中的第一列显示该行的重复数量。在本例中,以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

你可能感兴趣的:(Linux命令之uniq命令使用详解)