如何用单条Awk命令匹配Memory行并计算最后列/1024的值
用单条Awk命令实现需求
没问题,我帮你把多命令组合简化成单条Awk命令,这样更高效也方便频繁调用。直接用这条命令就能搞定:
awk '/Memory/ {mem=$NF} END {print mem/1024}' /var/tmp/file.out
命令拆解说明:
/Memory/:Awk会扫描每一行,只处理包含“Memory”字符串的行{mem=$NF}:每次匹配到符合条件的行时,把该行的最后一列($NF表示最后一个字段)的值存入变量mem。因为是逐行覆盖,最终mem里会保留最后一行匹配到的数值END {print mem/1024}:当所有行处理完成后,执行END块里的逻辑,把存储的数值除以1024后输出
用你提供的示例数据测试的话,最后一行Memory的数值是32768,运行这条命令会输出32,完全符合你的预期。
内容的提问来源于stack exchange,提问作者judi
相关产品推荐
相关产品推荐

