1 1
2 3
3 4
के रूप में दो कॉलम के साथ एक फ़ाइल और के रूप में
6
7
9
एक स्तंभ के साथ एक फ़ाइल के लिए एक फ़ाइल से एक स्तंभ जोड़ने के लिए मैं दूसरी जोड़ना चाहते हैं पहले में फ़ाइल करें। उत्पादन किया जाना चाहिए:
1 1 6
2 3 7
3 4 9
1 1
2 3
3 4
के रूप में दो कॉलम के साथ एक फ़ाइल और के रूप में
6
7
9
एक स्तंभ के साथ एक फ़ाइल के लिए एक फ़ाइल से एक स्तंभ जोड़ने के लिए मैं दूसरी जोड़ना चाहते हैं पहले में फ़ाइल करें। उत्पादन किया जाना चाहिए:
1 1 6
2 3 7
3 4 9
$ pr -mts' ' file1 file2
1 1 6
2 3 7
3 4 9
$ paste -d' ' file1 file2
1 1 6
2 3 7
3 4 9
awk 'NR==FNR{a[NR]=$0;next}{print a[FNR],$0}' file1 file2
नोट: एक ही लंबाई की फाइलों के साथ काम करेंगे। यदि फ़ाइल की लंबाई अलग है, तो sudo_O's समाधान के साथ जाएं।
बस की बिल्ली के लिए, यहाँ एक awk
आदेश मुझे लगता है कि paste
अनुकरण करना चाहिए। विशुद्ध रूप से मनोरंजन के लिए हालांकि, अगर मैं तुम थे मैं अभी भी sudo_O's समाधान के साथ जाना होगा (या नहीं हो सकता है!)
awk 'NR==FNR{a[++y]=$0;next}{b[++x]=$0}
END{z=x>y?x:y;while(++i<=z){print a[i],b[i]}}' file1 file2
एक शुद्ध bash समाधान हो सकता है:
exec 3<twofile
while read x; do read -u 3 y; echo $x $y; done <onefile
Infiles:
cat >onefile <<XXX
1 1
2 3
3 4
XXX
cat >twofile <<XXX
6
7
9
XXX
आउटपुट:
1 1 6
2 3 7
3 4 9
'-d' पैरामीटर के बिना मूल 'पेस्ट' काम करना चाहिए, मुझे लगता है। – fedorqui
@fedorqui 'पेस्ट' के साथ डिफ़ॉल्ट डिलीमीटर एक टैब है। –
आहा मैं देखता हूं। इसके लिए +1! – fedorqui