문자가 왔습니다. 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)