2012-05-24 11 views
5

मैं निम्नलिखित (example.txt) फ़ाइल है:कैसे लिपियों में एक विशिष्ट चरित्र के बाद नई लाइन डालने के लिए

blue(4) red(8) green(5) yellow(19) brown(60) black(5) 

कैसे मैं यूनिक्स में निम्नलिखित परिणाम प्राप्त कर सकते हैं?

blue(4) 
red(8) 
green(5) 
yellow(19) 
brown(60) 
black(5) 

उत्तर

4

निम्नलिखित इन-लाइन sed स्क्रिप्ट एक नई जगह के साथ एक स्थान को प्रतिस्थापित करेगा, और आपकी समस्या का समाधान करना चाहिए। xargs एक समय -n 1 पर एक तर्क लेने में example.txt में उत्तीर्ण होकर

sed 's/ /\n/g' example.txt 
2

अपने डेटा तो की तरह, यह एसईडी आदेश को पारित अलग लाइन

जैसे, प्रत्येक पंक्ति में दो प्रविष्टियों डाल करने के लिए एक बस -n 1-n 2

करने का विकल्प -n भी man page पर के रूप में max-args में जाना जाता है बदल जाएगा।

4
xargs -n 1 < example.txt 

, xargs एक की प्रत्येक प्रविष्टि स्थापित करेंगे:

sed -i 's/ /\n/g' example.txt > example_out.txt 
+0

के लिए आप :) – 0xC0000022L

+0

धन्यवाद .. कॉपी और पेस्ट एक सुरक्षित दृष्टिकोण कभी कभी है 'xargs' की वर्तनी को सही :) – Levon

5

आप कोष्ठक बंद करने के बाद न्यू लाइन डालने के लिए की जरूरत है, की कोशिश

sed 's/) \?/)\n/g' example.txt