मैं स्ट्रिंग को कैसे बदल सकता हूं लेकिन केवल "sed" प्रोग्राम का उपयोग कर फ़ाइल की पहली पंक्ति में?sed पहली पंक्ति में स्ट्रिंग को प्रतिस्थापित करता है
आदेश s/test/blah/1
और 1s/test/blah/
काम नहीं कर रहे हैं। क्या कोई और तरीका है?
मैं स्ट्रिंग को कैसे बदल सकता हूं लेकिन केवल "sed" प्रोग्राम का उपयोग कर फ़ाइल की पहली पंक्ति में?sed पहली पंक्ति में स्ट्रिंग को प्रतिस्थापित करता है
आदेश s/test/blah/1
और 1s/test/blah/
काम नहीं कर रहे हैं। क्या कोई और तरीका है?
यह यह करना होगा:
sed -i '1s/^.*$/Newline/' textfile.txt
असफल कि सिर्फ यकीन है कि मैच एक ही लाइन के लिए अद्वितीय है बनाने:
sed -i 's/this is line one and its unique/Changed line one to this string/' filename.txt
-i
विकल्प फाइल करने के लिए परिवर्तन लिखते बजाय सिर्फ प्रदर्शित आउटपुट के लिए आउटपुट।
संपादित करें:
आम स्ट्रिंग मिलान किया जाएगा द्वारा पूरी लाइन बदलने के लिए:
sed -i 's/^.*COMMONSTRING$/Newline/'
कहाँ ^
लाइन के शुरू होने से मेल खाता है, $
पंक्ति के अंत से मेल खाता है और .*
सबसे मेल खाता है COMMONSTRING
लाइन अंत में एक आम स्ट्रिंग के साथ हर बार अलग होती है, लेकिन आपने मुझे यह हल करने का विचार दिया, धन्यवाद! ;) – irek
तक यह (जीएनयू sed) आप के लिए काम कर सकते हैं:
sed -i '1!b;s/test/blah/' file
केवल पहली पंक्ति पर blah
के लिए पहले test
को प्रतिस्थापित करेगा।
या फिर आप परिवर्तन पहली पंक्ति करना चाहते हैं:
sed -i '1c\replacement' file
किस बारे में '1s/परीक्षण/blah /' "काम नहीं करता है?" –