awk를 사용하여 값을 추출한 후 계산을 수행합니다.

awk를 사용하여 값을 추출한 후 계산을 수행합니다.

내 출력은 다음과 같습니다

{tid=4, total=3, column.id=[5.0]}  
{tid=2, total=1, column.id=[5.0]}
{tid=5, total=8, column.id=[5.0]}
{tid=8, total=6, column.id=[5.0]}
elapsed time: 10 milliseconds
current time: Thu Sep 15 16:15:30

이 출력 세트는 서로 다른 경과 시간으로 여러 번 반복됩니다. 경과 시간을 나타내는 모든 정수를 추출한 다음 평균 경과 시간을 찾고 싶습니다. 나는 awk를 사용하여 경과 시간을 얻을 수 있다고 생각하지만 여기 구문이 올바른지 확실하지 않습니다.

답변1

항상 밀리초 단위라고 가정하면 이것이 작동합니다.

awk '/^elapsed time:/ {T+=$3;C++}; END {print T/C}' test.txt 

/^elapsed time:/원하는 패턴과 일치하는 라인 찾기

{T+=$3;C++};up에 세 번째 열을 추가 T하고 몇 번이나 수행했는지 계산합니다.C

END {print T/C}우리의 평균을 인쇄해 보세요.

관련 정보