给定的文件格式如下。
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 的重复重复次数,其余字段可以来自任何重复行。
通过这种方式,应从原始文件中删除 dups 并以上述格式显示。原始文件中的其余部分将是 uniq 的,它们将按原样进行......
我所做的是..
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
但这需要再次回到原始文件以获取 dup 发生的行。..
让我不要混淆..这需要一个不同的观点..我的大脑正在坚持我的方法..需要一支雪茄..有什么想法......??