문제

그래서 나는 다음과 같은 패턴을 찾고 있습니다.

크기 = '0x0'

로그 파일에서 - 그러나 큰 크기 (4 자리 이상)에만 관심이 있습니다. 다음 Regex는 EditPadPro (Nice Tool BTW)에서 훌륭하게 작동합니다.

size = '0x [0-9a-fa-f] {4,}

그러나 동일한 Regex는 awk에서 작동하지 않습니다. 반복 {4,}가 그것을 엉망으로 만드는 것처럼 보입니다. Wingrep와 동일합니다 - Regex 전문가의 아이디어가 있습니까? 감사!

도움이 되었습니까?

해결책

사실 Awk를 경고로 사용할 수 있습니다.

다음 페이지에 언급 된 바와 같이, 간격 표현식 ({4,})이 표준에 있지 않기 때문에 다음 페이지에 설명하기 위해서는 특수 명령 줄 옵션 (-re-interval)이 필요합니다.

http://kansai.anesth.or.jp/gijutu/awk/gawk/gawk_28.html

결국, 당신은 다음과 같은 모습을 원할 것입니다.

awk --re-interval "/size='0x[0-9a-fA-F]{4,}'/" thefile

이것은 일치하는 선을 인쇄합니다.

다른 팁

{4,} 구문에 대한 우아한 대안은 모르지만 원하는 환경에서 작동하지 않으면이 추악한 해킹에 의지 할 수 있습니다.

size='0x[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]+

도움이 되었기를 바랍니다!

아담

마지막 아포스트로피를 잊지 마십시오.

'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top