gpt4 book ai didi

regex - 根据特定列删除重复项

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:34 27 4
gpt4 key购买 nike

我的 Linux CentOS 7 上确实有一个以下格式的大文本文件。

430004, 331108, 075, 11, 19, Chunsuttiwat Nattika
431272, 331108, 075, 11, 19, Chunsuttiwat Nattika
435979, 335086, 803, 6, 19, ANNI BRENDA
436143, 335151, 545, 4, 23, Agrawal Abhishek
436723, 335387, 386, 2, 19, Bhati Naintara
438141, 325426, 145, 11, 19, Teh Joshua

我想删除重复的行,包括原点(如果它与第二列匹配)。

预期输出:

435979, 335086, 803, 6, 19, ANNI BRENDA
436143, 335151, 545, 4, 23, Agrawal Abhishek
436723, 335387, 386, 2, 19, Bhati Naintara
438141, 325426, 145, 11, 19, Teh Joshua

最佳答案

更新:

排序 + uniq + awk管道:

sort -k2,2 file | uniq -f1 -c -w7 | awk '$1==1{ sub(/[[:space:]]*[0-9]+[[:space:]]*/,"",$0); print}' 
<小时/>
  • sort -k2 -n file - 按第二个字段对文件进行数字排序

  • uniq -f1 -c - 输出行及其出现次数(-f1 - 跳过文件中的第一个字段)

  • awk '$1==1{ $1=""; print}' - 打印仅出现一次的行($1==1 - 检查 uniq 命令中的计数值)

关于regex - 根据特定列删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44704401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com