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スクリプトを1行で実行できます。
perl -e "while (<>) {if (/Ui\.(?!Lines)/){print;};}"
Perlは、grepと同じようにstdinを受け入れます。
ipset list | perl -e "while (<>) {if (/packets(?! 0 )/){print;};}"