इनपुटयह 'grep -o` क्यों विफल रहता है, और मुझे इसके आसपास कैसे काम करना चाहिए?
echo abc123def | grep -o '[0-9]*'
एक कंप्यूटर पर (जीएनयू ग्रेप 2.5.4 के साथ) को देखते हुए इसे रिटर्न 123
, और एक अन्य पर (जीएनयू ग्रेप 2.5.1) के साथ यह खाली स्ट्रिंग देता है। क्या कोई स्पष्टीकरण है कि grep 2.5.1 क्यों विफल रहता है, या यह सिर्फ एक बग है? मैं grep -o
का उपयोग इस तरह से एक बैश स्क्रिप्ट में कर रहा हूं कि मैं विभिन्न कंप्यूटरों पर चलाने में सक्षम होना चाहता हूं (जिसमें grep के विभिन्न संस्करण हो सकते हैं)। लगातार व्यवहार पाने के लिए कोई "सही तरीका" है?
आप एक रेगेक्स पर grep क्यों करना चाहते हैं जो शून्य अक्षरों से मेल खा सकता है, वैसे भी? मैं उम्मीद करता हूं कि यह प्रत्येक पंक्ति से मेल खाए, न केवल उन अंकों के साथ लाइनों। –