linux – 根据另一列对列进行求和
发布时间:2020-12-14 01:19:44 所属栏目:Linux 来源:网络整理
导读:我有一个2列的文件,第1列是HH:MM:SS格式的时间,第2列是计数. 我想总结第2列为基础的第一个库.关于第1列的小时和分钟. 输入: 00:00:00,2.00,00:00:10,1.00,00:00:20,00:00:30,6.00,00:00:40,00:00:50,7.00,00:01:00,8.00,00:01:10,00:01:20,00:01:30,11.00
我有一个2列的文件,第1列是HH:MM:SS格式的时间,第2列是计数.
我想总结第2列为基础的第一个库.关于第1列的小时和分钟. 输入: 00:00:00,2.00,00:00:10,1.00,00:00:20,00:00:30,6.00,00:00:40,00:00:50,7.00,00:01:00,8.00,00:01:10,00:01:20,00:01:30,11.00, 对于小时:下面的awk工作, awk -F,'{ a[substr($1,2)]+=$2 } END{ for (i in a) print i "," a[i] }' file 输出: 00,53 分钟: 例外输出: 00:00,19 00:01,34 解决方法
使用`awk:
awk -F '[:,]' -v OFS=,'{s[$1 ":" $2]+=$(NF-1)} END{for (i in s) print i,s[i]}' file 00:00,34 编辑:如果原始时间戳的排序很重要,那么使用: awk -F '[:,'{k=$1":"$2} !s[k]{b[++n]=k} {s[k]+=$(NF-1)} END {for (i=1; i<=n; i++) print b[i],s[b[i]]}' file 00:00,34 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |