gpt4 book ai didi

shell - 切 |排序 | uniq-d-c |但?

转载 作者:行者123 更新时间:2023-12-01 23:34:14 29 4
gpt4 key购买 nike

给定的文件格式如下。

GGRPW,33332211,kr,P,SUCCESS,systemrenewal,REN,RAMS,SAA,0080527763,on:X,10.0,N,20120419,migr
GBRPW,1232221,uw,P,SUCCESS,systemrenewal,REN,RAMS,ASD,20075578623,on:X,1.0,N,20120419,migr
GLSH,21122111,uw,P,SUCCESS,systemrenewal,REN,RAMS,ASA,0264993503,on:X,10.0,N,20120419,migr

我需要取出重复项并计数(每个重复项按 f1、2、5、14 分类)。然后将第一次重复出现的记录插入到数据库中,记录整个字段并在另一列中标记计数(重复)。为此,我需要删除所有提到的 4 个字段,并使用 uniq -d 排序和查找重复项,并使用 -c 进行计数。现在再次回来,在整理出所有重复项之后,它很重要,我需要输出为以下形式。

3,GLSH,21122111,uw,P,SUCCESS,systemrenewal,REN,RAMS,ASA,0264993503,on:X,10.0,N,20120419,migr

而三个是 f1、2、5、14 的重复重复次数,其余字段可以来自任何重复行。

通过这种方式,复制应该从原始文件中删除并以上述格式显示。原始文件中的其余部分将是唯一的,它们会按原样...


我所做的是..

awk '{printf("%5d,%s\n", NR,$0)}' renewstatus_2012-04-19.txt > n_renewstatus_2012-04-19.txt 
cut -d',' -f2,3,6,15 n_renewstatus_2012-04-19.txt |sort | uniq -d -c

但这需要再次回到原始文件以获取重复出现的行。 ..

让我不要混淆..这需要不同的观点..我的大脑坚持我的方法..需要一支雪茄..有什么...??

最佳答案

排序有一个选项-k

   -k, --key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)

uniq 有一个选项 -f

   -f, --skip-fields=N
avoid comparing the first N fields

使用字段编号进行排序和唯一化(计数 NUM 并自己测试此命令,请)

awk -F"," '{print $0,$1,$2,...}' file.txt | sort -k NUM,NUM2 | uniq -f NUM3 -c

关于shell - 切 |排序 | uniq-d-c |但?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10258385/

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