msg = "This Server Disk Rate is not 90%" df -k |awk '{print $5}' |egrep '9[0-9]|100'|awk '{if($5!="90") print $meg}'
디스크 용량 90%가 넘으면 출력 그렇지 않으면 디스크용량은 90%이상이 아니다를 출력 하려고 합니다.
아무리 해봐도 나오질 않습니다.
힌트좀 부탁드리겟습니다.
두번째 필터뒤의 egrep 때문이 아닐까요? (90 이상일 경우만 걸르게 되어 있습니다.) df -k df -k | awk '{print $5}' df -k |awk '{print $5}' |egrep '9[0-9]|100'
이런식으로 순차적으로 실행시켜보면 그렇게 보이네요.
msg = "This Server Disk Rate is not 90%" df -k | grep -v Use | awk -v "MSG=$msg" '{if($5 <= "90%") print MSG ; else print $5}'
주신코드를 약간 손보면 이 정도로 동작시킬 수 있습니다.
--- 배려하는 마음을 갖자.
헌데 for문이 아닌데요. 라인수만큼 msg를 찍습니다. 이건 왜 그런건가요?
그것은 df 명령시에 특정 하드/파티션을 지정하지 않으면, 현재 마운트 되어 있는 모든 하드 정보를 보여주기 때문입니다. 특정 하드/파티션은 다음과 같이 지정할 수 있습니다.
df -k /dev/sda1
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
awk
두번째 필터뒤의 egrep 때문이 아닐까요? (90 이상일 경우만 걸르게 되어 있습니다.)
df -k
df -k | awk '{print $5}'
df -k |awk '{print $5}' |egrep '9[0-9]|100'
이런식으로 순차적으로 실행시켜보면 그렇게 보이네요.
주신코드를 약간 손보면 이 정도로 동작시킬 수 있습니다.
---
배려하는 마음을 갖자.
덧글 감사합니다. ^^ 많은 도움이 되었습니다.
헌데 for문이 아닌데요. 라인수만큼 msg를 찍습니다. 이건 왜 그런건가요?
하드
그것은 df 명령시에 특정 하드/파티션을 지정하지 않으면, 현재 마운트 되어 있는 모든 하드 정보를 보여주기 때문입니다.
특정 하드/파티션은 다음과 같이 지정할 수 있습니다.
df -k /dev/sda1
---
배려하는 마음을 갖자.
댓글 달기