# चरित्र का क्या अर्थ है: / बिन / sed -e का # abc # zzz # g '?


जवाबों:


14

यह एक विभाजक है, जैसा है "/", यह वैसा ही है 's/abc/zzz/g'

इसका मतलब है कि "एबीसी" के लिए इसे "ज़ज़" के साथ बदलें, वैश्विक ध्वज के साथ, इसका मतलब है कि यह लाइन पर सभी "एबीसी" के लिए है, न कि केवल पहले एक पर।

आप पैटर्न पते के लिए एक वैकल्पिक विभाजक का उपयोग भी कर सकते हैं, लेकिन उस स्थिति में, आपको इसकी सही व्याख्या करने के लिए इससे बचने की आवश्यकता है:

sed -r '\#abc#p'

24

यह एक सीमांकक या विभाजक है। सबसे अधिक इस्तेमाल किया जाने वाला एक /जैसा है

sed 's/old/new/' file

लेकिन सीम कमांडर (सी) के बाद पहला चरित्र सीमांकक के रूप में ले जाएगा। आप किसी भी सुविधाजनक चरित्र का उपयोग कर सकते हैं, उदाहरण के लिए ...

sed 's%old%new%' file

यह बहुत उपयोगी है यदि फ़ाइल में /(या अन्य पारंपरिक परिसीमन वर्ण) हों। आप विभाजक के रूप में कुछ चरित्र चुन सकते हैं जिन्हें आप जानते हैं कि आपको अपनी sedअभिव्यक्ति में डालने की आवश्यकता नहीं होगी , जिससे आपको बहुत कष्टप्रद भागने से बचाना होगा।

मान लीजिए कि आप प्रतिस्थापित करना चाहते हैं

https://askubuntu.com/questions

साथ में

https://askubuntu.com/posts

आप उपयोग कर सकते हैं

sed 's/https:\/\/askubuntu.com\/questions/https:\/\/askubuntu.com\/posts/' file

लेकिन उपयोग करने के लिए बेहतर है

sed 's|https://askubuntu.com/questions|https://askubuntu.com/posts|' file

यह ध्यान देने योग्य है कि जीएनयू में कम से कम sed, लायक हो सकता है /की तुलना में अन्य संदर्भों में एक वैकल्पिक चरित्र द्वारा बदला जा सकता है s(विकल्प) आदेश - लेकिन इस मामले में यह पहली बार है जैसे भाग निकले किए जाने की आवश्यकता sed '/foo/d'(मिलान हटाने लाइनों foo) हो जाता हैsed '\#foo#d'
steeldriver

@steeldriver वास्तव में! - मैंने देखा कि रवेक्सिना ने कहा कि उसके जवाब में, इसलिए मैं शायद मेरा पीछा छोड़ दूंगा :)
ज़न्ना

1
यह महत्वपूर्ण नहीं है कि क्या धारा में विभाजक वर्ण है। क्या महत्वपूर्ण है कि क्या खोज स्ट्रिंग या प्रतिस्थापन स्ट्रिंग में विभाजक चरित्र है।
कैस्परल्ड

@kasperd ओह हाँ, सच। मैंने थोड़ा सा संपादन किया :)
ज़न्ना

@ ज़न्ना का जवाब इस बिंदु पर अधिक है: कमांड "s" के बाद पहला वर्ण विभाजक को निर्धारित करता है जो इस कमांड में उपयोग किया जाता है। आप यहां किसी भी पात्र का उपयोग कर सकते हैं । sbabebके रूप में ही करता है s/a/e/
rexkogitans
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.