मेरे पास दो अलग-अलग फाइलें हैं:
file1
/home/user1/
/home/user2/bin
/home/user1/a/b/c
करें 2
<TEXT1>
<TEXT2>
मैं File1 की सामग्री का उपयोग करके File2<TEXT1>
की जगह लेना चाहता हूं । मैंने इस कमांड की कोशिश की, लेकिन उचित आउटपुट नहीं मिल रहा:sed
cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"
आप इस समस्या को हल करने के लिए अन्य उपकरणों का भी उपयोग कर सकते हैं।
/home/user1/ n/home/user2/bin n/home/user1/a/b/cn <TEXT2>
। नई लाइनें नहीं मिल रही हैं।
diff
और patch
उपकरण फ़ाइल में कुछ पंक्तियों को अन्य लाइनों द्वारा काफी आसानी से बदलने की अनुमति देते हैं।
$()
एक यादृच्छिक स्क्रिप्ट के साथ इकट्ठा किए गए यादृच्छिक डेटा का उपयोग करने से मेरी आँखें खराब हो जाती हैं। कभी भी उन स्थानों पर बाहरी डेटा का उपयोग न करें जहां कुछ वर्णों की व्याख्या विशेष अर्थ के साथ की जाती है।
sed
कार्यान्वयन का उपयोग कर रहे हैं। आप कोड मेरे लिए जीएनयू के साथ काम करते हैंsed
।