각 행과 각 열의 평균을 계산하는 Bash 명령


0

marks.log와 같은 로그 파일이 있고 내용이 다음과 같다고 가정합니다.

Fname   Lname   Net Algo    
Jack    Miller  15  20  
John    Compton 12  20  
Susan   Wilson  13  19  

각 사람의 평균 (행)이 포함 된 새 열과 각 코스의 평균 (열)이 포함 된 새 행을 추가하고 싶습니다. bash를 처음 사용하면 루프 및 awk 등의 구문을 이해할 수 없습니다.


각 열의 평균을 쉽게 계산하는 awk 명령을 시도했습니다. awk '{총 + = $ 2; count ++} END {print total / count} 'marks.log 그러나 루프에서 작동하도록 만들 수 없으므로 각 열에 대해 awk 명령을 작성해야합니다. 그리고 행의 평균을 계산할 수 없습니다.
user1859201

1
왜 CSV로 변환하고 숫자를 사용하지 않습니까? Bash에 대한 경험이 없으면 더 간단합니다. 또한 @patrix에 추가하려면 질문에 시도한 내용과받은 결과를 추가하십시오. FISH 를 지정된 쉘로 제안 하면 더 친숙하고 대화 형입니다. 경험이 적은 사용자에게는 덜 위협적입니다.
user14492

답변:


1

지금까지 무엇을했는지에 따라 :

awk '{count++; col2 += $2; col3 += $3; print ($2+$3)/2}
     {END print col2/count, col3/count}' marks.log
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.