[완료] awk 출력시 소수점 둘째자리 이후 반올림하고 싶습니다.
글쓴이: 자일자일 / 작성시간: 월, 2009/04/06 - 5:46오후
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에서 소수점 제어가 가능하던데 위의 명령어에도 적용이 가능한건가요 ?
도움부탁해요.
감사합니다.
Forums:
리눅스에서는 되는데 솔라리스는 어떤지 모르겠네요 해보세요
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)는
int($1/1024/1024*100)는 100을 곱한후에 소수부분을 버린것이구요. 다시 100으로 나누어 소수점 두자리로 만든겁니다
소수부분을 버리기전에 0.5를 더해준 것은 반올림을 하기 위한 것입니다.
-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.
-------------------------------------------------------------------------------
이 댓글(comment)의 수정 및 삭제를 위해 이 글에 답글(reply)을 쓰지 말아 주십시요.
의견이 있으시면 원 글에 댓글(comment)로 써 주세요.
감사합니다.
알려주신것을 가지고 공부해봐야겠네요.
감사합니다.
댓글 달기