के अंत कौन सा बेहतर होगा से रिक्त स्थान निकालें:txtfiles से खाली लाइन निकालें, आरंभ और लाइन
sed -e '/^$/d' *.txt
sed 'g/^$/d' -i *.txt
इसके अलावा, मैं कैसे शुरुआत और पाठ फ़ाइल में प्रत्येक पंक्ति के अंत से रिक्त स्थान निकालते हैं?
के अंत कौन सा बेहतर होगा से रिक्त स्थान निकालें:txtfiles से खाली लाइन निकालें, आरंभ और लाइन
sed -e '/^$/d' *.txt
sed 'g/^$/d' -i *.txt
इसके अलावा, मैं कैसे शुरुआत और पाठ फ़ाइल में प्रत्येक पंक्ति के अंत से रिक्त स्थान निकालते हैं?
$ sed 's/^ *//; s/ *$//; /^$/d' file.txt
`s/^ *//` => left trim
`s/ *$//` => right trim
`/^$/d` => remove empty line
'sed -r' s/^ \ s * //; s/\ s * $ //;/^ $/d'' – kev
' sed -r "/^\ s * \ $/d; s @^\ s * (। *) \ s * \ $ @ \ 1 @" '- कम 'sed'- "कॉलिंग" :) – uzsolt
ओएस एक्स उपयोगकर्ताओं को नोट करें: समकक्ष उत्तर 'sed -E' s/^ + // है; एस/+ $ //;/^ $/d 'file.txt' (सामान्यीकृत, '\ s'- आधारित संस्करण के समतुल्य है:' sed -E 's/^ [[: space:]] + //; s/[[: स्थान:]] + $ //;/^ $/d 'file.txt'। (ओएस एक्स (10.8 के रूप में) पर' sed' के लिए कोई '-r' विकल्प नहीं है; '-ई' नियमित रूप से नियमित रूप से चालू हो जाता है अभिव्यक्तियां, जो '[[:..:]]' शैली चरित्र वर्गों का समर्थन करती हैं, लेकिन स्पष्ट रूप से उनके शॉर्टेंड समकक्ष नहीं हैं जैसे कि '\ s'।) – mklement0
यह आप के लिए काम कर सकते हैं:
sed -r 's/^\s*(.*\S)*\s*$/\1/;/^$/d' file.txt
बिल्कुल सही है! धन्यवाद –
ही तरह, लेकिन ex
संपादक का उपयोग:
ex -s +"g/^$/de" +"%s/^\s\+//e" +"%s/\s\+$//e" -cwq foo.txt
एकाधिक फ़ाइलों के लिए:
ex -s +'bufdo!g/^$/de' +'bufdo!%s/^\s\+//e' +'bufdo!%s/\s\+$//e' -cxa *.txt
रिकर्सिवली बदलने के लिए, आपका उपयोग कर सकते हैं(उदा। **/*.txt
)।
awk का उपयोग करके और भी सरल विधि।
cat filename.txt | awk 'NF' | awk '{$1=$1;print}'
awk 'NF'
- यह सभी खाली/खाली लाइनों को हटा देगा।
awk '{$1=$1;print}'
- यह निकाल देंगे केवल सफेद रिक्त स्थान, (दोनों बाएँ और दाएँ)
मुझे लगता है कि अनुगामी '' जी/^ $/d' में g' बेकार है। – kev