![여러 행의 필드를 하나의 행에 추가](https://linux55.com/image/58747/%EC%97%AC%EB%9F%AC%20%ED%96%89%EC%9D%98%20%ED%95%84%EB%93%9C%EB%A5%BC%20%ED%95%98%EB%82%98%EC%9D%98%20%ED%96%89%EC%97%90%20%EC%B6%94%EA%B0%80.png)
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+'