adiciona campos de linhas diferentes em uma linha

0

Estou tentando adicionar as seções .data e .bss da size -A output

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

isto imprimirá o valor do tamanho da seção .data.

Eu acho que eu poderia copiar / colar este comando dentro do awk, mas isso vai ficar feio rápido.

Existe uma maneira de analisar várias linhas como essa de uma só vez?

    
por Eric 03.11.2014 / 21:08

1 resposta

1

É isso que você quer?

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

Se você quiser apenas extrair os tamanhos .data e .bss da saída de tamanho, e se você tiver o grep do GNU:

size -A mylib.so | grep -oP '^(\.data|\.bss)\s+\K\d+'
    
por 03.11.2014 / 21:14

Tags