जवाबों:
क्योंकि सीड perl नहीं है - sed regexes के पास \d
आशुलिपि नहीं है :
sed 's/[[:digit:]]\+\.//g'
sed नियमित अभिव्यक्ति प्रलेखन यहाँ ।
/[[:digit:]]*\. /
स्ट्रिंग से मेल खाएगा foo.
क्योंकि आप शून्य अंकों के लिए अनुमति देते हैं। यदि आप दिखाए गए अनुसार एक या अधिक उपयोग करना चाहते हैं\+
दो समस्याएं:
sed
समर्थन नहीं करता है \d
। का प्रयोग करें [0-9]
या [[:digit:]]
।
+
विशेष अर्थ प्राप्त करने के लिए backslashed किया जाना चाहिए: \+
।
interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).
अफसोस की बात है, यह \ d मुद्दे के साथ मदद नहीं करता है ...
-E
GNU sed के लिए काम नहीं करता है, यह -r
इसके बजाय उपयोग करता है ।
sed
पोर्टेबिलिटी की बात है तो बस बेकार है ...
-E
बीएसडी sed में ( BSD sed -r
पर और GNU sed पर) विस्तारित रेगेक्स का उपयोग नहीं करते हैं , तो +
न तो \+
( न ही साथ ही ?
) बिल्कुल काम करेगा, जबकि GNU sed में आप उन्हें बैकस्लैश के साथ काम करने के लिए प्राप्त करें। इसलिए स्क्रिप्टिंग में विस्तारित रेगेक्स का उपयोग करने की सामान्य सिफारिश
Sed मैन पेज संदर्भ re_format मैन पेज। यह 2 भेद करता है: (1) अप्रचलित बनाम विस्तारित नियमित अभिव्यक्ति; (२) गैर-वर्धित बनाम संवर्धित नियमित भाव। सभी 4 संयोजन संभव हैं। अप्रचलित और विस्तारित दोनों के लिए sed में समर्थन है, लेकिन या तो केवल गैर-संवर्धित के लिए। \ D ऑपरेटर नियमित रूप से बढ़े हुए भावों की एक विशेषता है, इसलिए इसे sed द्वारा समर्थित नहीं किया गया है।