2014-10-16 3 views
0

파일의 결과를 화면에 기록해야합니다.Perl Oneliner Regex

perl -0777 -nle 'print $2 "\n" while m/^(={21})([\w\s]+)(+={24})/gm' logfile.txt 

을하지만 어떤 결과를 제공하지 않습니다 :

고양이 내가 뭐하는 거지

=====================Installing Oracle======================== 
*** ERROR[Install023] Oracle is already installed in $VOL1. 
Alert: There might be an issue, Please check! 
============================================= 
=====================File Set verification======================== 
Filesystem State 512-blocks  Used  Avail Capacity Mounted on 
HOME   STARTED 143372688 119516872 23855816 83% /home 
BIN  STOPPED  -   -   -  - /nfsT/nfsdata/common 
ROOT   STARTED 143372688 119516872 23855816 83% /
TEMP   STARTED 143372688 118402344 24970344 83% /tmp 
The Filset for home directory looks Ok. 
The Filset for root directory looks Ok. 
============================================= 

을 logfile.txt 여기서.

출력물이 있어야합니다.

Installing Oracle..... Alert 
File Set verification.....Ok! 
+0

'펄 -0777 -wnle ...' –

답변

1

이 경고에 대한 모든 가능한 이유가 될 수 있는지 분명하지 않다,하지만 샘플에 대해 다음 작품 :

perl -ne 'undef $err, print "$1 ..." if /^={21}([^=]+)={24}/; 
      $err = 1 if /ERROR/; 
      print $err ? "Alert" : "Ok!", "\n" if /={45}/'