इसी पंक्ति में दो फ़ाइलों को कैसे मर्ज किया जाए?


9

अब, मेरे पास दो फाइलें हैं:

aaaa.txt:

a=0;
b=1;
c=2;

bbbb.txt:

d=3
e=4
f=5

मैं मर्ज करना चाहते हैं aaaa.txtऔर bbbb.txtकरने के लिए cccc.txt

cccc.txt निम्नलिखित अनुसार:

a=0;d=3
b=1;e=4
c=2;f=5

तो, मैं इसके लिए क्या कर सकता हूं?

जवाबों:


13

आप इसके लिए पेस्ट का उपयोग कर सकते हैं:

paste -d '\0' aaaa.txt bbbb.txt > cccc.txt

आपके प्रश्न से, ऐसा प्रतीत होता है कि पहली फ़ाइल में ;अंत है। यदि यह नहीं था, तो आप -d ';'इसके बजाय उपयोग करके सीमांकक के रूप में उपयोग कर सकते हैं ।

ध्यान दें कि जो भी सोच सकता है, उसके विपरीत -d '\0', यह एक NUL चरित्र के साथ सीमांकक के रूप में नहीं, बल्कि एक खाली सीमांकक के साथ चिपका रहा है। खाली परिसीमा निर्दिष्ट करने का यह मानक तरीका है। pasteजीएनयू जैसे कुछ कार्यान्वयन इसके लिए pasteअनुमति देते हैं paste -d '', लेकिन यह न तो मानक है और न ही पोर्टेबल (कई अन्य कार्यान्वयन यदि आप उपयोग करते हैं तो लापता परिसीमन के बारे में एक त्रुटि रिपोर्ट करेंगे paste -d '')।


@ क्रिस डाउन - बहुत बहुत धन्यवाद, यह काम कर रहा है। वैसे, एक और सवाल: awk '{sed' s /.*,/999 / g '}' cccc.txt क्यों यह awk: {sed s /.* , / 999 / g} awk: ^ सिंटैक्स त्रुटि। इसके साथ गलत क्या है?
binghenzq

मुझे पूरी तरह से यकीन नहीं है कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आप इस तरह जागने के लिए बस सेड पास नहीं कर सकते ...
क्रिस डाउन

@ क्रिस डाउन - थान्स, मुझे मिल गया।
बिंगेनज़क

कृपया अलग प्रश्न पूछें, साथ ही, अलग प्रश्न। यह उन्हें बाद के उपयोगकर्ताओं (खोजने के लिए संभव!) के लिए उपयोगी बनाता है।
वॉनब्रांड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.