मेरे पास कई फाइलें हैं जिन्हें मैं एक मल्टी-लाइन स्ट्रिंग को दूसरे मल्टी-लाइन स्ट्रिंग के साथ अद्यतन करना चाहता हूं। की तर्ज पर कुछ:
* Some text,
* something else
* another thing
और मैं इसे बदलना चाहता हूं:
* This is completely
* different text
इसका परिणाम यह होगा कि प्रतिस्थापन के बाद फ़ाइल में पहले खंड का पाठ होता है, जिसमें अब दूसरा स्ट्रिंग (शेष फ़ाइल अपरिवर्तित होता है) होगा।
समस्या का हिस्सा यह है कि मुझे फाइल की सूची को फाइल सिस्टम में अपडेट करना है। मुझे लगता है कि मैं उसके लिए grep का उपयोग कर सकता हूं (हालांकि फिर से मल्टीलाइन स्ट्रिंग्स के साथ ऐसा करना आसान नहीं है) फिर इसे शायद sed में पाइप करें?
क्या इसे करने का कोई आसान तरीका है? Sed एक विकल्प है लेकिन यह अजीब है क्योंकि मुझे \ n आदि को जोड़ना है। क्या यह कहने का कोई तरीका है कि "इस फाइल से इनपुट लें, इसे उन फाइलों में मिलाएं, फिर इसे इस दूसरी फाइल की सामग्री से बदल दें"? जरूरत पड़ने पर मैं अजगर का उपयोग कर सकता हूं, लेकिन मैं कुछ त्वरित और सरल चाहता हूं, इसलिए अगर कोई उपयोगिता उपलब्ध है, तो मैं इसका उपयोग खुद की स्क्रिप्ट लिखने के बजाय (जो मुझे पता है कि कैसे करना है) करना चाहिए।
some text, something else another thing
या नहीं, यह कई लाइनों तक फैला है? या आप केवल मैच करना चाहते हैं some text,\nsomething else\nanotherthing
?