如何对grep提取的日志行中的wall time数值求和?
提取并累加wall time数值的解决方案
可以通过awk工具直接处理日志文件,实现提取wall time数值并求和的需求,以下是两种可行的命令:
方法1:结合grep和awk
grep "df vj and vk" output.log | awk '{sum += $(NF-1)} END {printf "%.2f\n", sum}'
方法2:仅用awk(更高效)
awk '/df vj and vk/ {sum += $(NF-1)} END {printf "%.2f\n", sum}' output.log
命令解释
- 对于每行匹配到的日志:
$(NF-1):NF表示当前行的字段总数,$(NF-1)即取倒数第二个字段,对应wall time的数值(比如0.10、0.03)sum += $(NF-1):将提取到的数值累加到总和变量sum中
END块:在处理完所有行后执行,printf "%.2f\n", sum将总和格式化为两位小数输出,最终得到结果0.19
内容的提问来源于stack exchange,提问作者Valay Agarawal
相关产品推荐
相关产品推荐

