यह निर्भर करता है। सच पूछिये तो, एक मानक अनुरूप sed केवल बेसिक रेगुलर एक्सप्रेशन का उपयोग करना चाहिए, जिसके लिए the standard कहता है:
BRE विशेष वर्ण और संदर्भों जिसमें वे अपने विशेष अर्थ नहीं होता इस प्रकार हैं:
.[\
अवधि, बाईं स्क्वायर-ब्रैकेट, और बैकस्लैश एक ब्रैकेट अभिव्यक्ति में उपयोग किए जाने के अलावा विशेष होगा (आरई ब्रैकेट अभिव्यक्ति देखें)। एक अभिव्यक्ति जिसमें '[' है जो बैकस्लैश से पहले नहीं है और ब्रैकेट अभिव्यक्ति का हिस्सा नहीं है, अनिर्धारित परिणाम उत्पन्न करता है।
*
तारांकन अभिव्यक्ति में उपयोग किए जाने के अलावा, जब एक संपूर्ण बीआरई (प्रारंभिक '^', यदि कोई हो) के पहले चरित्र के रूप में, या उप-संपीड़न के पहले चरित्र के रूप में (प्रारंभिक के बाद) '^', अगर कोई है); एकाधिक वर्ण
मिलान बीआरईएस देख
^
स्वरित जब एक लंगर के रूप में इस्तेमाल विशेष होना (BRE अभिव्यक्ति एंकरिंग देखें) करेगा या एक ब्रैकेट अभिव्यक्ति का पहला वर्ण के रूप में (आरई ब्रैकेट अभिव्यक्ति देखने)
$
dollar- एंकर के रूप में उपयोग किए जाने पर संकेत विशेष होगा।
तो पूरी सूची .[\*^$
है, लेकिन संदर्भ मायने रखता है। इसके अलावा, कई sed विस्तारित नियमित अभिव्यक्तियों (ईआरई) का उपयोग करने के विकल्प प्रदान करते हैं, जो सूची का विस्तार करेंगे और उस संदर्भ को बदल देंगे जिसमें वर्ण विशेष हैं। उदाहरण के लिए, ईआरई समूह के बिना \(
और \)
का उपयोग करके गठित किया गया है, लेकिन ईआरई (
और )
स्वयं विशेष हैं और उन्हें सचमुच मिलान करने के लिए बच जाना चाहिए।
स्रोत
2012-11-21 18:55:53
sed (और grep) के लिए प्रलेखन वह है जिसे आप ढूंढ रहे हैं। आप वहां क्या नहीं मिला? – Mat
मैं केवल विशेष वर्णों के उदाहरण देखता हूं, लेकिन मुझे कभी भी यकीन नहीं है कि यह विशेष वर्णों की _complete_ सूची है – mnr
मुझे यकीन नहीं है कि "विशेष चरित्र" से आपका क्या मतलब है, लेकिन दस्तावेज सूचीबद्ध करता है जो आप कर सकते हैं। उस दस्तावेज़ीकरण को दोहराने में कोई बात नहीं है। – Mat