![awk에서 스케일 바를 사용하는 방법은 무엇입니까?](https://linux55.com/image/100112/awk%EC%97%90%EC%84%9C%20%EC%8A%A4%EC%BC%80%EC%9D%BC%20%EB%B0%94%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
문자가 왔습니다. 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)