여러 줄의 정규식을 허용하는 도구가 Linux에 있습니까?

여러 줄의 정규식을 허용하는 도구가 Linux에 있습니까?

Linux에서 여러 줄 정규 표현식의 결과를 찾고 싶습니다. grep을 시도했지만 대부분의 Linux 유틸리티와 마찬가지로 라인 기반입니다.

여러 줄을 검색하여 일치 항목을 간단히 출력할 수 있는 유사한 기능이 있습니까?

직접 정규 표현식을 제공할 수 없다면 Perl, awk 등은 사용할 수 없습니다.

질문

내 Subversion 저장소에서 svn propget --recursive를 수행했으며 이제 ^http[^] 형식의 정규 표현식이 필요한 모든 트렁크 항목을 추출하려고 합니다.트렁크.$$(줄 시작 부분에 "http"로 시작하고 빈 줄로 끝납니다.

답변1

구문 분석하려는 정확한 형식을 모르겠습니다. 항상 단락의 시작 부분에 있는 경우 http(단락이 하나 이상의 빈 줄로 구분되는 경우) 단락 모드(각 단락은 레코드임)에서 awk를 호출하고 로 시작하는 레코드를 인쇄할 수 있습니다 http. Perl도 비슷한 패턴을 가지고 있습니다.

awk -vRS= '/^http[^ ]/'
perl -000 -ne 'print if /^http[^ ]/'

항상 앞에 빈 줄이 없는 경우 빈 줄이 보이면 인쇄를 시작하고 중지 http할 수 있습니다 . http예를 들어:

awk '/^http[^ ]/, /^$/'
perl -ne 'print if /^http[^ ]/../^$/'

관련 정보