बस का उपयोग करें cat(यदि आप बिल्लियों की तरह; ;-)) और paste:
cat file.in | paste -d, - - > file.out
स्पष्टीकरण: pasteएक साथ कई फाइलों और पेस्टों को एक साथ पढ़ता है और इसी पंक्तियों (लाइन 1 से पहली फाइल के साथ लाइन 1 से दूसरे नंबर) आदि को पढ़ता है:
paste file1 file2 ...
एक फ़ाइल नाम के बजाय, हम -(डैश) का उपयोग कर सकते हैं । pasteफ़ाइल 1 से पहली पंक्ति लेता है (जो स्टडिन है)। फिर, यह फ़ाइल 2 से पहली पंक्ति पढ़ना चाहता है (जो कि स्टडिन भी है)। हालांकि, चूंकि स्टडिन की पहली पंक्ति पहले से ही पढ़ी गई थी और संसाधित की गई थी, अब इनपुट स्ट्रीम पर जो इंतजार होता है, वह स्टड की दूसरी पंक्ति है, जो pasteपहले वाले को खुशी से झलकती है। -dविकल्प सीमांकक एक टैब एक अल्पविराम के बजाय होने के लिए सेट करता है।
वैकल्पिक रूप से, करते हैं
cat file.in | sed "N;s/\n/,/" > file.out
PS हाँ, कोई भी ऊपर को सरल बना सकता है
< file.in sed "N;s/\n/,/" > file.out
या
< file.in paste -d, - - > file.out
जिसका उपयोग न करने का फायदा है cat।
हालाँकि, मैंने इस मुहावरे का उपयोग उद्देश्य के लिए , स्पष्टता कारणों से नहीं किया है - यह कम क्रिया है और मुझे पसंद है cat(CATS NICE)। तो कृपया संपादित न करें।
वैकल्पिक रूप से, यदि आप बिल्लियों को पेस्ट पसंद करते हैं (पेस्ट क्षैतिज रूप से फ़ाइलों को संक्षिप्त करने के लिए कमांड है, जबकि बिल्ली उन्हें लंबवत रूप से व्यवस्थित करती है), तो आप उपयोग कर सकते हैं:
paste file.in | paste -d, - -