2013-12-10 5 views
5

से पहले एक टैब वर्ण जोड़ना तो, मुझे कुछ एसवीएन आदेशों को स्वचालित करने के लिए एक खोल स्क्रिप्ट मिल गई है। मैं स्क्रिप्ट के दौरान लॉगफाइल और स्टडआउट दोनों के लिए आउटपुट करता हूं, और एसवीएन आउटपुट को/dev/null पर निर्देशित करता हूं। अब मैं अपने लॉगिंग में एसवीएन आउटपुट शामिल करना चाहता हूं, लेकिन इसे अपने आउटपुट से अलग करने के लिए मैं एसवीएन आउटपुट की प्रत्येक पंक्ति में \t प्रीपेड करना चाहता हूं। क्या यह शैल स्क्रिप्टिंग के साथ किया जा सकता है?बाहरी स्क्रिप्ट आउटपुट

संपादित करें क्या यह कुछ है जिसके लिए मैं एडब्ल्यूके का उपयोग कर सकता हूं? मैं जांच करूंगा!

संपादित करें तो, एडब्ल्यूके का उपयोग करके चाल चलती है। अफसोस की बात है कि मैं इसे svn आदेशों के साथ काम करने के लिए नहीं मिल सकता है।

svn add * | awk '{ print "\t"$0 }' 

प्रीपेड टैब चरित्र के बिना आउटपुट। लेकिन अगर मैं उदाहरण के लिए चलाता हूं

ls -l | awk '{ print "\t"$0 }' 

निर्देशिका प्रत्येक पंक्ति के सामने एक टैब वर्ण के साथ सूचीबद्ध है।

संपादित करें धन्यवाद @ डैनियल! मैं इस

svn add * 2>&1 | sed 's/^/\t/' 

साथ समाप्त हो गया ध्यान दें कि awk इस के लिए अच्छी तरह से काम करता है, जब सही ढंग से इस्तेमाल

svn add * 2>&1 | awk '{print "\t"$0 }' 
+0

अब तक आपके पास क्या कोड है? – Daniel

+0

अच्छी तरह से मुझे लगा कि मैं इसके लिए एडब्ल्यूके का उपयोग कर सकता हूं। हालांकि मुझे यकीन नहीं है कि आउटपुट को एसवीएन से एडब्ल्यूके तक कैसे निर्देशित किया जाए। रुको, मैं लॉग इन करूंगा और एक सेकेंड में कोड पकड़ूंगा –

उत्तर

6

आप Sed उपयोग कर सकते हैं रूप में अच्छी तरह सकता है। अपने एसवीएन कमांड के आउटपुट को /dev/null पर रीडायरेक्ट करने के बजाय, आप इसे सेड पर पाइप कर सकते हैं।

svn ls https://svn.example.com 2>&1 | sed 's/^/ /' 
संबंधित मुद्दे