将不同行的字段添加到一行中

将不同行的字段添加到一行中

size -A我正在尝试添加输出的 .data 和 .bss 部分

size -A mylib.so | grep "\.data" | awk '{print $2}

这将打印 .data 部分的大小值。

我想我可以在 awk 中复制/粘贴这个命令,但这很快就会变得丑陋。

有没有办法一次解析这样的几行?

答案1

这是你想要的吗?

size -A mylib.so | 
awk '$1 == ".data" || $1 == ".bss" {sum += $2} END {print sum}'

如果您只想从大小输出中提取 .data 和 .bss 大小,并且您有 GNU grep:

size -A mylib.so | grep -oP '^(\.data|\.bss)\s+\K\d+'

相关内容