यह कोई आउटपुट उत्पन्न नहीं करता है। कैसे?
$ echo 'this 1 2 3' | grep '\d\+'
लेकिन ये करते हैं:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
2
मेरे (सोलारिस) काम करने वालों में से कोई नहीं।
—
१६:११
न ही मैं। (साइगविन) क्या आपका मतलब है
—
एरिक विल्सन
\+
? इसका क्या मतलब है?
हाँ, मैं Ubuntu 10.04 पर हूं, बैश का उपयोग करके। BRE in grep के लिए आपको कुछ पात्रों से बचना होगा। मैन grep में "बेसिक बनाम एक्सटेंडेड रेगुलर एक्सप्रेशंस" आज़माएँ।
—
अंकुर अग्रवाल
@FarmBoy:
—
डेनिथ
+
एक regex में "पिछले टोकन के एक या अधिक" का अर्थ है। इस मामले में यह बच गया है क्योंकि यह सिंटैक्स के grep
डिफ़ॉल्ट रेगेक्स इंजन द्वारा आवश्यक है ।
@FarmBoy:
—
कीथ थॉम्पसन
+
यदि आप उपयोग कर रहे हैं तो बच निकलने की जरूरत है grep
; यदि आप उपयोग कर रहे हैं egrep
, तो यह नहीं है। (GNU संस्करण के लिए कम से कम) के grep -E
बराबर है egrep
।