grep이 -P 또는 --perl-regexp를 지원하지 않고 PCRE 사용 grep (예 : "pcregrep")을 설치할 수있는 경우 Perl 호환 일반을 허용하기 위해 GNU grep과 같은 명령 줄 옵션이 필요하지 않습니다. 식, 당신은 그냥 실행
pcregrep "Ui\.(?!Line)"
"Ui. (?! (Line))"예제에서와 같이 "Line"에 대해 다른 중첩 그룹이 필요하지 않습니다. 위에 표시된 것처럼 외부 그룹이면 충분합니다.
부정적인 어설 션을 보는 또 다른 예를 들겠습니다. "ipset"에 의해 반환 된 라인 목록이 있고 라인 중간에 패킷 수를 표시하는 각 라인이 있고 패킷이없는 라인이 필요하지 않은 경우 운영:
ipset list | pcregrep "packets(?! 0 )"
perl 호환 정규식을 좋아하고 perl이 있지만 pcregrep이 없거나 grep이 --perl-regexp를 지원하지 않는 경우 grep과 같은 방식으로 작동하는 한 줄짜리 perl 스크립트를 사용할 수 있습니다.
perl -e "while (<>) {if (/Ui\.(?!Lines)/){print;};}"
Perl은 grep과 같은 방식으로 stdin을 허용합니다.
ipset list | perl -e "while (<>) {if (/packets(?! 0 )/){print;};}"