awk에서 스케일 바를 사용하는 방법은 무엇입니까?

awk에서 스케일 바를 사용하는 방법은 무엇입니까?

문자가 왔습니다. 3개의 열로 구성됩니다.

1. student number
2. midterm grade
3. final grade

variable=$(cat $1 | awk 'NR=='$j' {print (($2+$3)/2)}' ) 

3자리 숫자 이후에 결과를 얻는 방법:

Example: 123123  50  55
result: 52.500

각 결과가 50보다 큰지 확인하고 싶습니다.

답변1

나는 제안한다:

awk '{ printf("%.3f\n", ($2+$3)/2 ) }' example.txt

산출:52.500

답변2

자신보다 등급이 높은 사람을 매칭하려면 50다음을 수행하세요.

awk '{sum=($2+$3)/2 ; split(sum,a,"."); if(a[1] > 50) printf("%.3f\n", sum)}' grades

결과를 sum변수에 저장합니다. split함수를 사용하여 .점 앞의 첫 번째 부분을 일치시키고 결과를 인쇄하십시오.

학번을 인쇄하려면 printf다음과 같이 줄을 수정하면 됩니다.

printf("Student: %s\t%.3f\n", $1, sum)

관련 정보