gpt4 book ai didi

awk - 如何使用 grep 对列表进行排序以显示基于预定义列表的唯一出现次数?

转载 作者:行者123 更新时间:2023-12-02 09:03:22 27 4
gpt4 key购买 nike

假设我有一个如下所示的列表

示例.txt:

2010-01-06 15:03:14 57.55.24.13 user1
2010-01-07 20:02:14 69.54.12.36 user2
2010-01-08 12:34:34 127.21.159.2 user3
2010-01-08 02:43:45 116.40.11.179 user1

该列表有一堆给定的用户和他们使用的 IP 地址。我想要做的是找到每个用户登录的唯一 IP 地址的数量。因此,在前面的示例中,user1 将返回值 2。但是,如果 user1 从 116.40.11.179 再次登录,结果仍将是 2,因为它不是唯一的 ip。

我尝试过制作用户名列表。

userlist.txt:

user1
user2
user3

然后我尝试使用类似

的内容将其传递给 grep
grep example.txt | uniq -c | wc -l < userlist.txt

但这显然效果不太好。有什么想法吗?

最佳答案

您可以尝试以下操作吗?

awk '
!seen[$NF OFS $(NF-1)]++{
user[$NF]++
}
END{
for(key in user){
print key,user[key]
}
}
' Input_file

输出如下。

user1 2                                                                                                                       
user2 1
user3 1

关于awk - 如何使用 grep 对列表进行排序以显示基于预定义列表的唯一出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61288585/

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