假设我的数据是:
*dnet *1234 1.2
1 port *12 2.3
3 port1 *34 0.2
7 *15 0.1
*dnet *234 0.2
2 *12 0.1
4 *123 *234 1.2
字段由空格分隔。
在此,我想获得每个 中存在的第四个数据字段的总和*dnet
。有些字段有第四个字段数据,有些则没有。我想要每个单独的第四个字段总和值*dnet
。
我尝试使用awk
但无法获得。如果有人帮忙,将不胜感激。
上面的输出看起来像
*dnet *1234 1.2 2.5
*dnet *234 0.2 1.2
答案1
$ awk '/dnet/{if (NR>1) print dnet, sum+0; dnet=$0; sum=0} {sum+=$4} END{print dnet, sum+0}' file
*dnet *1234 1.2 2.5
*dnet *234 0.2 1.2