2014-09-13 9 views
24

साथ न्यू लाइन को बदलने के लिए sed से उत्पादन है:टीआर का उपयोग करते हुए अंतरिक्ष

http://sitename.com/galleries/83450 
72-profile 

उन दो तार एक में मिला दिया और इस तरह अंतरिक्ष के साथ अलग किया जाना चाहिए:

http://sitename.com/galleries/83450 72-profile 

दो तार में tr को pipelined कर रहे हैं अंतरिक्ष के साथ नई लाइन को प्रतिस्थापित करने के लिए आदेश:

tr '\n' ' ' 

और यह नहीं है काम करना, परिणाम इनपुट के समान है।

ASCII कोड '\032' के साथ स्थान इंगित करने के परिणाम \n को गैर-प्रिंट करने योग्य वर्णों के साथ बदलने में परिणाम।

क्या गलत है? मैं विंडोज पर गिट बैश का उपयोग कर रहा हूं।

+0

मैं एक ही वाक्य रचना के साथ tr के लिए नई-पंक्तियों के साथ एक पाठ फ़ाइल पाइप परीक्षण किया है और यह काम करता है। आप पाइप कैसे कर रहे हो क्या फाइल में न्यूलाइन और लाइनफीड्स हैं? शायद "tr '\ r \ n' '' ' –

उत्तर

37

सर्वश्रेष्ठ अनुमान है कि आप विंडोज़ पर हैं और आपकी लाइन एंडिंग सेटिंग्स विंडोज़ के लिए सेट हैं। इस विषय देखें: How to change line-ending settings

या उपयोग:

tr '\r\n' ' ' 
+0

विंडोज़ लाइन एंडिंग के बारे में सहमत हैं। त्वरित फिक्स 'dos2unix फ़ाइल' है। आप सभी को शुभकामनायें। – shellter

+0

अच्छी तरह से स्क्रिप्ट अभी भी '\ r' है। लेकिन ऐसा लगता है कि यह आपके इच्छित काम के लिए काम करेगा। यह सब कुछ एक पंक्ति पर रखेगा, न केवल एक समय में 2 लाइनें, और फिर आपका फॉर लूप हमेशा एक बार से गुज़र जाएगा। –

संबंधित मुद्दे