여러 행의 필드를 하나의 행에 추가

여러 행의 필드를 하나의 행에 추가

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+'

관련 정보