मैं बैश करने के लिए नया हूं और मुझे यकीन नहीं है कि निम्नलिखित कैसे करें: मेरे पास प्रारूप में एक टेक्स्ट फ़ाइल है:

123
John

234
Sally

456
Lucy

...

मैं इसे फॉर्म में एक सीएसवी फ़ाइल में आउटपुट करना चाहता हूं:

123,John
234,Sally
456,Lucy
...
0
user13166257 31 मार्च 2020, 13:24

1 उत्तर

सबसे बढ़िया उत्तर

sed के लिए एक अच्छी नौकरी:

sed '/[0-9]/{N;s/\n/,/}' txtfile

यह संख्याओं वाली रेखाओं का पता लगाता है और जब पाया जाता है, तो न्यूलाइन वर्ण को अल्पविराम से बदल देता है।

अगर आप भी बीच-बीच में खाली लाइनों से छुटकारा पाना चाहते हैं,

sed '/[0-9]/{N;s/\n/,/;n;d}' txtfile

ध्यान दें कि यदि आपकी फ़ाइल आपके द्वारा दिए गए नमूने की तरह नियमित है, तो आपको रेगेक्स की भी आवश्यकता नहीं है, 'N;s/\n/,/;n;d' पर्याप्त होगा।

1
Quasímodo 31 मार्च 2020, 10:30