Sftp stderr में त्रुटि संदेश में CR कैसे निकालें


1

मैं लिनक्स 2.6.32-573.26.1 का उपयोग कर रहा हूं

मैं किसी अन्य लिनक्स सर्वर से फ़ाइल प्राप्त करने के लिए बैच sftp चलाने के लिए a_script का उपयोग करता हूं

यहाँ a_script चलाने का तरीका है

a_script > a_script.log.wri 2>&1

यहाँ a_script है:

echo script start at `date`
sftp -b myCommandFile user@server 
echo script end at `date`

MyCommandFile के अंदर, ये कमांड हैं:

lls an_non_exist_file

क्योंकि a_non_exist_file नहीं मिल सकता
त्रुटि संदेश है:

ls: cannot access an_non_exist_file: No such file or directory  
Shell exited with status 2^M  

तो, a_script.log.wri में लाइन सहित सब कुछ शामिल होगा

Shell exited with status 2^M

सब कुछ बिगाड़ने के लिए यह लाइन है।

क्योंकि a_script.log.wri में कैरिज-रिटर्न ^ M char है, जब मैंने इस फाइल को ईमेल में अटैच किया और gmail को भेजा, तो gmail इसे नहीं खोल सकता।

हालांकि यह एक्सटेंशन व्री के साथ एक फाइल है, गेमिल सिर्फ इसे नहीं खोलता है।

मैं जीमेल के अंदर ईमेल पढ़ने के लिए Nexus 5x का उपयोग कर रहा हूं। Android अनुलग्नक फ़ाइल a_script.log.wri को नहीं खोलता है

मैं 5 लाइनों के साथ लिनक्स के अंदर एक फ़ाइल dummy.wri बनाने की कोशिश करता हूं और केवल 3 पंक्ति में एक समाप्ति कैरिज-रिटर्न चार है। अन्य 4 लाइनें एलएफ के साथ समाप्त हो जाती हैं।

फिर, मैं एक ईमेल में इस dummy.wri फ़ाइल को संलग्न करता हूं और जीमेल खाते में भेजा जाता हूं।

ठीक है, वास्तव में यह dummy.wri नहीं खोल सकता

यदि अंत में गाड़ी-वापसी नहीं है, तो सब कुछ ठीक है। मैं इसे नेक्सस 5x के एंड्रॉइड के अंदर जीमेल के अंदर खोल सकता हूं।

तो, मेरा सवाल है, त्रुटि संदेश प्रदर्शित करते समय गाड़ी-वापसी चार को जोड़ने के लिए कैसे नहीं sftp बनाने के लिए?

इसके अलावा, lls का उपयोग करने के बजाय, l_ a_non_exist_file का उपयोग करने पर समान स्थिति मिलेगी।

एल्विन SIU


क्या आपने कोशिश की है a_script 2>&1 | sed 's/\r$//' > a_script.log.wri?
यूजेन रिक जूल

हां, मैं वर्कअराउंड के रूप में इसी तरह की विधि का उपयोग करता हूं। मेरा सवाल है: चूंकि सब कुछ यूनिक्स वातावरण में चल रहा है, इसलिए सीएफटीएफ लाइन सीमिटर के रूप में उपयोग करना क्यों पसंद करता है? इसके अलावा, LF को लाइन सीमांकक के रूप में उपयोग करने के लिए sftp बताने का कोई तरीका नहीं है।
एल्विन SIU
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.