linux shell 文件去重,Shell脚本去重的几种方法实例

测试文件

[root@bogon ~]# cat >test

jason

jason

jason

fffff

jason

按 ctr + d保存

1、sort -u

[root@bogon ~]# sort -u test

fffff

jason

2、uniq

[root@bogon ~]# uniq test

jason

fffff

jason

由此可见,uniq需要先排序后才能去重

3、sort、管道和uniq结合运用

去除重复并保留一份重复的数据

[root@bogon ~]# sort test|uniq

fffff

jason

去除所有重复的行(不保留重复的行),并计算行数

[root@bogon ~]# sort test|uniq -uc

1 fffff

找出所有重复的行,并计算行数

[root@bogon ~]# sort test|uniq -dc

4 jason

根据某个字段去重

将原有数据改为

[root@bogon ~]# more test

jason 1

jason 2

jason 1

fffff 2

jason 3

[root@bogon ~]# sort -k 1,1 -u test

fffff 2

jason 1

man sort查看sort的用法,-k参数是这么描述的:

-k, --key=pos1[,pos2]

start a key at pos1 (origin 1), end it at pos2 (default end of line)

也就是说-k哪几个列进行排序,pos1是开始列,pos2是结束列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值