bash - Automatically inserting specified file into another (using sed, AWK, or Perl) -


मान लें कि मेरे पास एक फाइल है, Foo.in :

 < कोड> फू के विषय  

और Bar.in

  INSERT Foo.in बार की सामग्री  

मैं sed स्क्रिप्ट जो INSERT xyz की जगह xyz फ़ाइल की वास्तविक सामग्री के साथ बदलना चाहूंगा। इस विशिष्ट उदाहरण में मैं बार। आउट फ़ाइल का निर्माण करना चाहूंगा:

  बार के फू सामग्री की सामग्री  

मैंने sed के r कमांड का उपयोग करने के बारे में सोचा था, लेकिन समस्या यह है कि फ़ाइल को डालने के नाम फ़ाइल में स्वयं निर्दिष्ट किया गया है मैंने INSERT कमांड के लिए फ़ाइल को स्कैन करने के बारे में सोचा और फिर sed को अलग से प्रत्येक INSERT के लिए चलाया, लेकिन यह ओ (एन के साथ एक भयानक समाधान है) ^ 2) जटिलता मैं इसे sed या एडब्ल्यूके का उपयोग करना पसंद करता हूं, लेकिन यदि पर्ल स्क्रिप्ट विफल रहता है तो सभी स्वीकार्य होंगे।

<पूर्व> $ cat Foo.in Foo $ cat Bar.in INSERT Foo.in की सामग्री Bar.in $ awk '/ INSERT / {जबकि ((मिलन लाइन & lt; $ 2) & gt; 0) {प्रिंट लाइन}} करीब ($ 2); अगले} 1 बार। Bar.in की विषय वस्तुएं Bar.in के


Comments