Varlog友好地为之前的问题提供了解决方案,该问题着眼于找到感应偶数的相应放电事件并将其从数组中删除。这给我留下了所有尚未卸载到目的地的物品。
此脚本的输出(如下)
/REDIRECT_ITEM_REPLY/ {
match($0, /itemId=<([^>]+)>/, ary1)
match($0, /CscdestinationId=<([^>]+)>/, ary2)
dest[ary1[1]] = ary2[1]
}
/DISCHARGE_VERIFIED/ {
match($0, /itemId=<([^>]+)>/, ary1)
delete dest[ary1[1]]
}
END {
for (id in dest) {
print dest[id]
}
}输出:
17: CHU207
17: CHU207
35: CHU214
1: CHU001
157: FLY437
115: FLY424
108: FLY321我想将这些信息归类为以下内容:
CHU207 - 5
CHU001 - 10
FLY437 - 3我正在考虑使用UNIQ命令,但只是想知道如何将其合并到脚本中,感谢您的帮助
我尝试过使用uniq -c的命令行方法,但不确定这是否是最好的方法。
gawk -f inductedNEW.awk item1.log | uniq -c感谢您的帮助
菲尔
发布于 2017-09-07 10:50:58
在这里你不需要管道。在您的awk程序中,您拥有所需的一切。
将脚本的结尾部分更改为:
END {
print "Detail:"
for (id in dest) {
print dest[id]
group=dest[id]; # group = "123: ABC"
sub(/^[0-9]+: */, "", group); # group = "ABC"
groupCounter[group]++; # counter++
}
print "Grouped:"
for(group in groupCounter) {
print group " - " groupCounter[group]
}
}如果不需要细节部分,只需将其删除即可。
https://stackoverflow.com/questions/45985404
复制相似问题