2012-06-13 7 views
1

정규식에 새로운 오전 멀티 라인 검색을 처리하고 난 GREP을 사용하여 정규식 검색을 처리하지 못할 .. 은 너무 펄 상응하는

당신은 정규식에 해당 펄을 줄 수있는 펄

을하려고 생각 내가 리눅스에서 파일을 실행하려는
^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$) 

.. 여러 줄 검색 ... 사람이 나를 도울 수 있습니까? 내 작업을 처리 할 수 ​​

심지어 awk 명령에 ..

할 것이라고 이미 다음 링크에서이 작업입니다

Scope of grep with regular expressions

a regular expression to grep specific paragraphs of a file

내가 표현을 사용 그대로, 나에게 준다 : syntax error near "^"

+2

Ehm은/ –

+1

으로 서라운드를 둘러 쌉니다. 일치시키려는 대상을 알지 못하면 최신 정보를 알기가 어렵습니다. 구문 적으로 유효한 표현식처럼 보이므로 실행해야합니다. 아마도 당신이 당신이 얻는 것과 당신이 기대하는 것에 대한 예를 들어 귀하의 질문을 향상시킬 수 있습니까? –

답변

1

내가 PCREGREP 유틸리티 그것은 : 감사 @Damian @jack했다

pcregrep -M '(^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$))' file1 

를 사용하여 해결하기 위해 관리 당신은 커맨드 라인에서 펄과 위의 정규식 (사용하는 방법을 찾고

1

원 - 정기선)? 시도 :

perl -nle 'print if /regex_here/' < file 

예 :

perl -nle 'print if /bin/' < /etc/passwd 

는 "빈"로 모든 라인을 출력하며,

perl -nle 'print if /^\s*\*\s*\[ \][^\*]+?(\w*\:[^\*]+\d$)|([^\*]+[.]com[.]au$)/' < file 

당신이 원하는 일을해야한다.