내가해야 [8|9]
(다음 awk 스크립트 예제의 의미는 무엇입니까?
BEGIN { print "*** WARNING WARNING WARNING ***" }
/\<[8|9][0-9]%/ { print "Partition " $6 "\t: " $5 " full!" }
END { print "*** Give money for new disks URGENTLY! ***" }
내가 다음
/\<[8|9][0-9]%/
내가해야 [8|9]
(다음 awk 스크립트 예제의 의미는 무엇입니까?
BEGIN { print "*** WARNING WARNING WARNING ***" }
/\<[8|9][0-9]%/ { print "Partition " $6 "\t: " $5 " full!" }
END { print "*** Give money for new disks URGENTLY! ***" }
내가 다음
/\<[8|9][0-9]%/
그것은 8
, |
또는 9
다음 \<
을 단어-시작 일치하는 정규 표현식이다 제외하고, 그것의 대부분의 이해 예를 가지고 아마 [89]
일 것임), 뒤에 %
이 오는 숫자 ([0-9]
). 이 < 99 %에 < 80 % 일치하는 경우
전체 모든 입력 파일을 읽고 바로 리터럴 문자열 *** WARNING WARNING WARNING ***
를 인쇄되기 전에 BEGIN
블록이 한 번 실행을 보여줍니다. 마찬가지로 END
블록은 모든 입력 파일을 읽고 나서 리터 문자열 *** Give money for new disks URGENTLY! ***
을 인쇄 한 후에 한 번만 실행됩니다. 앞의 조건에 대해 true를 평가하는 모든 행에 대해 다른 모든 블록이 실행됩니다. 선이 범위의 아무 곳이나 포함
\< # Word Start
[8|9] # Either an 8 or | or 9 (think this should be [89])
[0-9] # A digit
% # literal percent character
기본적으로 경우에 그 정규 표현식이 일치 다음과 같은 뜻합니다 80% - 99%
: 정규 표현식은 다음과 같은 의미 어디에
BEGIN {
print "*** WARNING WARNING WARNING ***"
}
/\<[8|9][0-9]%/{
print "Partition",$6,"\t:",$5,"full!"
}
END {
print "*** Give money for new disks URGENTLY! ***"
}
조건 /\<[8|9][0-9]%/
은 전체 라인에 대한 정규 표현식 일치 문자열 Partition
다음에 현재 행의 여섯 번째 필드 다음에 TAB 다음에 :
이 붙은 다음 현재 행의 다섯 번째 필드와 마지막으로 full
문자열이 인쇄됩니다. awk
의 기본 필드 구분 기호는 공백입니다.
좋아, 알았다! 나는 그것을 조금 분석하고 싶었다. 어쩌면 잘못된 곳에서 .. 죄송합니다. – TrueY
이 스크립트는 실제로 올바르지 않습니다. 디스크가 100 % 가득 차 있다면 어떻게됩니까? 그것은 일치하지 않습니다. 어느 것이 예상 된 작업이 아닌 것 같습니다. 돈이 더 요구되는 것은 라인 일치가없는 것입니다. 어느 쪽이 좋은 행동이 아닌지 ... :) – TrueY