bash: 로그의 값을 변수로 설정합니다.

bash: 로그의 값을 변수로 설정합니다.

다음 형식의 240개의 부동 소수점 숫자로 구성된 로그 파일이 있습니다.

5.4
5.1
5.2
5.4
5.4
4.9
5.0
5.2
5.5
5.3
5.6
5.4
5.1
5.3
5.3
5.1
5.2
..
4.8

Bash 환경에서 이 로그 파일에 액세스하려면 이 데이터의 평균(요소 합계를 요소 수로 나눈 값)을 계산한 다음 결과 값을 어떤 목적으로 동일한 bash 스크립트에서 사용할 새 변수로 저장해야 합니다. 예를 들어 평균 = 5.0 변수를 저장해야 합니다. bash 스크립트에서 직접 이 작업을 수행할 수 있습니까?

답변1

awk를 사용하세요:

awk '{sum+=$1}END{print sum/NR}' file.log

bash 변수에 저장하려면 명령 대체를 사용하십시오.

variable=$(awk '{sum+=$1}END{print sum/NR}' file.log)

정밀도를 변경하려면 다음을 사용할 수 있습니다 printf.

variable=$(awk '{sum+=$1}END{printf "%.1f", sum/NR}' file.log)

관련 정보