[완료] awk 출력시 소수점 둘째자리 이후 반올림하고 싶습니다.

자일자일의 이미지

awk 출력시 소수점 둘째자리 이후 반올림하고 싶습니다.

솔라리스에서 간단한 모니터링용으로 아래와 같이 사용하고 있는데요

명령어
while [ 1 ] ; do df -k /oracle | grep free | awk '{print "mail /oracle " $1/1024/1024"GB"}' ; sleep 600 ; done

결과
mail /oracle 8.35766GB

보시다시피 소수점 이하 5자리까지 출력이 되고 있는데 이것을 둘째자리까지만 출력하려면 어떻게 할 수 있을까요 ?

printf에서 소수점 제어가 가능하던데 위의 명령어에도 적용이 가능한건가요 ?

도움부탁해요.
감사합니다.

블루스크린의 이미지

while [ 1 ] ; do df -k /oracle | grep free | awk '{print "mail /oracle " int($1/1024/1024*100+0.5)/100"GB"}' ; sleep 600 ; done

리눅스에서는 되는데 솔라리스는 어떤지 모르겠네요 해보세요

-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.

-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.

자일자일의 이미지

완벽하게 작동하네요.
잘쓰겠습니다.

아래 구문이 어떻게 소수점 2째자리까지만 출력해주는지 알 수 있을까요 ?
int($1/1024/1024*100+0.5)/100

감사합니다.

블루스크린의 이미지

int($1/1024/1024*100)는 100을 곱한후에 소수부분을 버린것이구요. 다시 100으로 나누어 소수점 두자리로 만든겁니다
소수부분을 버리기전에 0.5를 더해준 것은 반올림을 하기 위한 것입니다.

-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.

-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.

자일자일의 이미지

알려주신것을 가지고 공부해봐야겠네요.
감사합니다.