다음 형식의 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)