首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第二列中所有相同字符串的第一列值之和

第二列中所有相同字符串的第一列值之和
EN

Stack Overflow用户
提问于 2016-02-19 10:11:38
回答 1查看 65关注 0票数 1

假设我有以下两个文件,其中有这样的条目(number、IP和User):

代码语言:javascript
运行
复制
30000 11.11.11.11 Dalvik/2.1.0 Linux
10000 22.22.22.22 GetintentCrawler getintent.com
 5000 33.33.33.33 Mozilla/5.0 X11; Linux i686 AppleWebKit/537.36 KHTML, like Gecko Chrome/43.0.2357.130 Safari/537.36
 3000 44.44.44.44 Mozilla/5.0 Macintosh; Intel Mac OS X 10_6_8 AppleWebKit/534.59.10 KHTML, like Gecko Version/5.1.9 Safari/534.59.10
 1000 55.55.55.55 Dalvik/1.6.0 Linux; U; Android 4.1.2; Orange Yumo Build/OrangeYumo

代码语言:javascript
运行
复制
 6000 44.44.44.44 Mozilla/5.0 Macintosh; Intel Mac OS X 10_6_8 AppleWebKit/534.59.10 KHTML, like Gecko Version/5.1.9 Safari/534.59.10
 3000 33.33.33.33 Mozilla/5.0 X11; Linux i686 AppleWebKit/537.36 KHTML, like Gecko Chrome/43.0.2357.130 Safari/537.36
 2000 11.11.11.11 Dalvik/2.1.0 Linux
  600 55.55.55.55 Dalvik/1.6.0 Linux; U; Android 4.1.2; Orange Yumo Build/OrangeYumo
  500 22.22.22.22 GetintentCrawler getintent.com

我希望能够总结所有相同的up (第二列)的第一列,同时将后续的所有列都保留在用户代理中。此外,最后的输出应该按第一列排序。

结果应该是这样的:

代码语言:javascript
运行
复制
32000 11.11.11.11 Dalvik/2.1.0 Linux
10500 22.22.22.22 GetintentCrawler getintent.com
 9000 44.44.44.44 Mozilla/5.0 Macintosh; Intel Mac OS X 10_6_8 AppleWebKit/534.59.10 KHTML, like Gecko Version/5.1.9 Safari/534.59.10
 8000 33.33.33.33 Mozilla/5.0 X11; Linux i686 AppleWebKit/537.36 KHTML, like Gecko Chrome/43.0.2357.130 Safari/537.36
 1600 55.55.55.55 Dalvik/1.6.0 Linux; U; Android 4.1.2; Orange Yumo Build/OrangeYumo

到目前为止,我想出了这个问题,但是我失去了整个用户代理字符串,而且我也觉得我把事情复杂化了:

代码语言:javascript
运行
复制
cat file1.txt file2.txt file3.txt | awk '{arr[$2]+=$1;} END {for (i in arr) print i, arr[i]}' | awk '{ print $2" "$1 }' | sort -rn
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 10:27:08

您可以使用这个gnu-awk

代码语言:javascript
运行
复制
awk 'BEGIN{PROCINFO["sorted_in"]="@ind_num_asc"} {
   p=$1; $1=""; a[$0]+=p} END{for (i in a) print a[i] i}' file1 file2

BEGIN{PROCINFO["sorted_in"]="@ind_num_asc"}用于维护关联数组中键的顺序。

输出:

代码语言:javascript
运行
复制
32000 11.11.11.11 Dalvik/2.1.0 Linux
10500 22.22.22.22 GetintentCrawler getintent.com
8000 33.33.33.33 Mozilla/5.0 X11; Linux i686 AppleWebKit/537.36 KHTML, like Gecko Chrome/43.0.2357.130 Safari/537.36
9000 44.44.44.44 Mozilla/5.0 Macintosh; Intel Mac OS X 10_6_8 AppleWebKit/534.59.10 KHTML, like Gecko Version/5.1.9 Safari/534.59.10
1600 55.55.55.55 Dalvik/1.6.0 Linux; U; Android 4.1.2; Orange Yumo Build/OrangeYumo
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35502638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档