加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何删除基于列值的重复行?

发布时间:2020-12-13 19:14:16 所属栏目:Linux 来源:网络整理
导读:鉴于下表 123456.451 entered-auto_attendant 123456.451 duration:76 real:76 139651.526 entered-auto_attendant 139651.526 duration:62 real:62` 139382.537 entered-auto_attendant 使用基于Linux的bash shell脚本,我想根据第1列(具有长号的那个)的值删
鉴于下表
123456.451 entered-auto_attendant
 123456.451 duration:76 real:76
 139651.526 entered-auto_attendant
 139651.526 duration:62 real:62`
 139382.537 entered-auto_attendant

使用基于Linux的bash shell脚本,我想根据第1列(具有长号的那个)的值删除所有行.考虑到这个数字是一个可变数字

我试过了

awk'{a [$3]}!(一个[$3] -1)’文件

sort -u | uniq

但是我没有得到类似这样的结果,在第一列的所有值之间进行比较,删除所有重复项并显示它

123456.451 entered-auto_attendant
 139651.526 entered-auto_attendant
 139382.537 entered-auto_attendant

解决方法

你没有给出预期的输出,这对你有用吗?
awk '!a[$1]++' file

使用您的数据,输出是:

123456.451 entered-auto_attendant
139651.526 entered-auto_attendant
139382.537 entered-auto_attendant

并且此行仅打印唯一的column1行:

awk '{a[$1]++;b[$1]=$0}END{for(x in a)if(a[x]==1)print b[x]}' file

输出:

139382.537 entered-auto_attendant

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读