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

bash – 列中的重复:随机保留一个

发布时间:2020-12-15 21:20:12 所属栏目:安全 来源:网络整理
导读:我有一个文件(input.txt),其结构类似于: abc 1 bcd a cde 1 def 4 efg a fgh 3 我想删除第2列中的重复项,以便在该列中只包含唯一的字符串(独立于第1列中的内容).但选择的行应该是随意选择的.输出可以是例如: bcd a cde 1 def 4 fgh 3 我试图创建一个列出重
我有一个文件(input.txt),其结构类似于:

abc    1
 bcd    a
 cde    1
 def    4
 efg    a
 fgh    3

我想删除第2列中的重复项,以便在该列中只包含唯一的字符串(独立于第1列中的内容).但选择的行应该是随意选择的.输出可以是例如:

bcd    a
 cde    1
 def    4
 fgh    3

我试图创建一个列出重复项的文件(使用awk'{print $2}’input.txt | sort | uniq -D | uniq)但是我只是设法用awk’删除所有’!A [$2]’而不是随机保留其中一个副本.

解决方法

预处理输入以使其随机化:

shuf input.txt | awk '!A[$2]++'

(编辑:李大同)

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

    推荐文章
      热点阅读