यदि आपका grep -P या --perl-regexp का समर्थन नहीं करता है, और आप PCRE- सक्षम grep, उदाहरण के लिए "pcregrep" स्थापित कर सकते हैं, तो इसके लिए पर्ल-संगत नियमित को स्वीकार करने के लिए GNU grep जैसे किसी भी कमांड-लाइन विकल्प की आवश्यकता नहीं होगी। भाव, आप बस चलाते हैं
pcregrep "Ui\.(?!Line)"
आपको अपने उदाहरण "Ui।" (? ((लाइन))) के रूप में "लाइन" के लिए एक और नेस्टेड समूह की आवश्यकता नहीं है - बाहरी समूह पर्याप्त है, जैसे मैंने ऊपर दिखाया है।
मुझे नकारात्मक प्रतिक्रियाओं को देखने का एक और उदाहरण दें: जब आपके पास "ipset" द्वारा लौटी लाइनों की सूची हो, तो प्रत्येक पंक्ति लाइन के बीच में पैकेटों की संख्या दिखाती है, और आपको शून्य पैकेट वाले लाइनों की आवश्यकता नहीं है, आप बस Daud:
ipset list | pcregrep "packets(?! 0 )"
यदि आपको पर्ल-संगत रेगुलर एक्सप्रेशन पसंद हैं और आपके पास perl है, लेकिन pcregrep नहीं है या आपका grep --perl-regexp का समर्थन नहीं करता है, तो आप एक-लाइन perl स्क्रिप्ट का उपयोग कर सकते हैं जो grep की तरह ही काम करती है:
perl -e "while (<>) {if (/Ui\.(?!Lines)/){print;};}"
पर्ल उसी तरह स्टड को स्वीकार करता है जैसे जीआरपी
ipset list | perl -e "while (<>) {if (/packets(?! 0 )/){print;};}"