मैं पूर्व (VIM) का उपयोग करके शेल स्क्रिप्ट चलाने में असमर्थ हूं?


1

$ ex -sc $'%s/\r$//e|x' fileपूरी तरह से टर्मिनल से काम करता है, लेकिन जब मैं इसे .shस्क्रिप्ट के साथ चलाने की कोशिश करता हूं तो यह केवल लाइनों की उपेक्षा करता है ex

$ rm ~/Desktop/projectautomate/finalutf81.csv    
$ rm ~/Desktop/projectautomate/finalutf8.csv

$ cat ~/Desktop/projectautomate/headersutf8.csv ~/Desktop/projectautomate/upload.csv >> ~/Desktop/projectautomate/finalutf8.csv


$ iconv -f utf-16 -t utf-8 ~/Desktop/projectautomate/finalutf8.csv -o ~/Desktop/projectautomate/finalutf81.csv -c
$ ex -sc $'%s/\r$//e|x' ~/Desktop/projectautomate/finalutf81.csv

हर चीज काम करती है लेकिन कमांड की अंतिम पंक्ति नहीं। मैं मूल रूप से फ़ाइल के अंतिम से CRLF (अंतिम पंक्ति नियंत्रण वर्ण) को निकालने का प्रयास कर रहा हूं। कुछ विस्तृत स्पष्टीकरण की सराहना की जाएगी। यदि स्पष्ट नहीं है क्योंकि अंग्रेजी मेरी दूसरी भाषा है, तो मैं इसे समझाने की कोशिश करूंगा।

जवाबों:


1

ये किस $लिए हैं?

#!/bin/sh
ex -sc '%s/\r//e|x' toto.txt

आप चाहते हैं जिस तरह से काम करने लगता है।


धन्यवाद यह काम करता है। कुछ ब्लॉगों में से कुछ $ने कोड से पहले जोड़ने का सुझाव दिया । मुझे यकीन नहीं है कि लोग इसका उपयोग यहां करते हैं या नहीं। के बारे में पता नहीं था #!/bin/sh। वास्तव में इसके लिए क्या है? लगता है #बाहर टिप्पणी की, लेकिन फिर से यह काम करता है।
कठिन

1
#!/bin/shइसका उपयोग आपके शेल को यह बताने के लिए किया जाता है कि आपकी स्क्रिप्ट को यहाँ पर कैसे समझा जाए । आपको इसे अपने शेल स्क्रिप्ट की पहली पंक्ति पर रखना चाहिए।
रोमेल

धन्यवाद, जो कई अन्य उपयोगों के लिए भी जानना महत्वपूर्ण था।
कठिन

1

$''केवल एक बकवास बात है; शेल स्क्रिप्ट को संभवतः श या डैश के साथ निष्पादित किया जा रहा है। रखना

#!/bin/bash

पहली पंक्ति में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.