Linux uniq --去除排序过的文件中的重复行

本文介绍如何利用uniq命令从已排序的文本文件中去除重复行,并提供了多种使用选项及实例,例如仅显示重复行或统计重复行的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 AlexJason:200:Sales 

2 EmmaThomas:100:Marketing 

1 MadisonRandy:300:Product Development 

1 NishaSingh:500:Sales 

1 SanjayGupta:400:Support

3. 以下命令仅仅列出了相同的条目

$ sort namesd.txt |uniq –cd 

2 AlexJason:200:Sales 

2 EmmaThomas:100:Marketing

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值