मैंने नामक एक फ़ाइल है .ignore
। को बदलने की जरूरत है projdir
। उदाहरण के लिए:
ignore \..*
ignore README
projdir Snake
मुझे साँप को बदलने की ज़रूरत है, उदाहरण के लिए, "पचमन"। मैंने मैन पेज पढ़ा, लेकिन मुझे नहीं पता कि क्या करना है।
मैंने नामक एक फ़ाइल है .ignore
। को बदलने की जरूरत है projdir
। उदाहरण के लिए:
ignore \..*
ignore README
projdir Snake
मुझे साँप को बदलने की ज़रूरत है, उदाहरण के लिए, "पचमन"। मैंने मैन पेज पढ़ा, लेकिन मुझे नहीं पता कि क्या करना है।
जवाबों:
एक पंक्ति के साथ खोजें जो शुरू होती है projdir
, और पूरी पंक्ति को एक नए के साथ बदलें:
sed -i 's/^projdir .*$/projdir PacMan/' .ignore
^
और $
लाइन मार्करों की शुरुआत / अंत कर रहे हैं, इसलिए पैटर्न पूरी लाइन से मेल खाएगा; .*
कुछ भी मेल खाता है। -i
बताता sed
परिवर्तन सीधे करने के लिए लिखने के लिए .ignore
सिर्फ उन्हें outputting में, बजाय
एक दृष्टिकोण पूरी लाइन को फिर से लिखना है, उन हिस्सों के लिए बैकरेफरेंस का उपयोग करना जिन्हें आप रखना चाहते हैं:
sed -e 's/^\( *projdir *\)[^ ]*\(.*\)*$/\1PacMan\2/'
एक अन्य तरीका यह है कि लाइन के उस हिस्से को फिर से लिखना है, लेकिन केवल अगर कुछ अन्य भाग मेल खाते हैं:
sed -e '/^ *projdir / s/ [^# ]/ PacMan/'
दोनों उदाहरण लाइनों पर दूसरे व्हाट्सएप-सीमांकित शब्द को फिर से लिखते हैं जहां पहला शब्द है projdir
।
हालाँकि यह एक पुराना पोस्ट है और यह आपके लिए स्वीकृत उत्तर से हल किया हुआ लगता है, वास्तविक प्रश्न का उत्तर नहीं दिया गया है। तो पूर्णता के लिए और दूसरों की मदद करने के लिए:
यहाँ जवाब है कि वास्तव में "साँप" के लिए मेल खाता है और "प्रोजिर" के साथ शुरू होने वाली लाइनों के लिए नहीं ...
sed -r 's/(^.*)Snake/\1PacMan' .ignore
यह "स्नेक" + "पीएसीएमएन" से पहले सब कुछ के साथ "स्नेक" सहित लाइन की शुरुआत से सब कुछ बदल देता है। \ 1 का अर्थ है कि जो अंदर से मेल खाता है ()। "साँप" के बाद सब कुछ अछूता नहीं रहता है।
sed -i 's:^projdir.*$:projdir PacMan:g' .ignore
^ प्रोजिडिर वह रेखा ढूंढना है जो स्ट्रिंग प्रोज्डर से शुरू होती है। *। $ वहीं लाइन में प्रोज्डिर के बाद स्ट्रिंग के लिए खड़ा है। स्ट्रिंग projdir PacMan वह स्ट्रिंग है जिसके साथ हम प्रतिस्थापित कर रहे हैं। जी वैश्विक के लिए है - ऐसे सभी लाइनों को बदलने के लिए जो प्रोज्डिर से शुरू होती है। .ignore फ़ाइल का नाम है
-i
,--in-place
तो इसका उदाहरण अधिक स्व-दस्तावेजीकरण होगा।