मैंने लगभग सभी उपलब्ध समान सवालों का पता लगाया है , कोई फायदा नहीं हुआ।
मुझे समस्या के बारे में विस्तार से बताएं:
मैं कुछ अप्राप्य स्क्रिप्ट्स चलाता हूं और ये मानक आउटपुट और मानक त्रुटि रेखाएं उत्पन्न कर सकते हैं, मैं उन्हें अपने सटीक क्रम में कैप्चर करना चाहता हूं जैसा कि एक टर्मिनल एमुलेटर द्वारा प्रदर्शित किया गया है और फिर "STDERR:" और "STDOUT:" जैसे उपसर्ग जोड़ते हैं।
मैंने पाइप और यहां तक कि उन पर एपोल-आधारित दृष्टिकोण का उपयोग करने की कोशिश की है, कोई फायदा नहीं हुआ। मुझे लगता है कि समाधान पीट उपयोग में है, हालांकि मैं उस पर कोई मास्टर नहीं हूं। मैंने ग्नोम के वीटीई के स्रोत कोड में भी देखा है , लेकिन यह बहुत अधिक उत्पादक नहीं है।
आदर्श रूप से मैं इसे पूरा करने के लिए बैश के बजाय गो का उपयोग करूंगा , लेकिन मैं नहीं कर पाया। बफ़रिंग के कारण पाइप्स जैसे स्वचालित रूप से एक सही लाइनों के क्रम को रखने से मना करते हैं।
क्या कोई ऐसा ही कुछ कर पाया है? या यह असंभव है? मुझे लगता है कि अगर एक टर्मिनल एमुलेटर यह कर सकता है, तो यह नहीं है - शायद एक छोटा सी प्रोग्राम बनाकर PTY (एस) को अलग तरीके से हैंडल किया जाए?
आदर्श रूप से मैं इन 2 धाराओं (STDOUT और STDERR) को पढ़ने के लिए अतुल्यकालिक इनपुट का उपयोग करूंगा और फिर उन्हें मेरी दूसरी जरूरतों को फिर से प्रिंट करूंगा, लेकिन इनपुट का क्रम महत्वपूर्ण है!
नोट: मैं stderred के बारे में पता है, लेकिन यह मेरे लिए बैश लिपियों के साथ काम नहीं करता है और आसानी से एक उपसर्ग जोड़ने के लिए संपादित नहीं किया जा सकता है (क्योंकि यह मूल रूप से syscalls के बहुत लपेटता है)।
अद्यतन: दो gists के नीचे जोड़ा गया
(उप-सेकंड रैंडम देरी नमूना स्क्रिप्ट में जोड़ा जा सकता है जो मैंने एक सुसंगत परिणाम साबित करने के लिए प्रदान किया है)
अद्यतन: इस प्रश्न का समाधान भी इस अन्य प्रश्न को हल करेगा , जैसा कि @Gilles ने बताया। हालांकि मैं इस नतीजे पर पहुंचा हूं कि यहां और वहां जो पूछा गया है वह करना संभव नहीं है । 2>&1
दोनों धाराओं का उपयोग करते समय सही ढंग से पीटीआई / पाइप स्तर पर विलय कर दिया जाता है, लेकिन धाराओं को अलग-अलग और सही क्रम में उपयोग करने के लिए वास्तव में स्ट्रीड के दृष्टिकोण का उपयोग करना चाहिए जो कि सीस्कॉल हुकिंग को आमंत्रित करता है और कई मायनों में गंदे के रूप में देखा जा सकता है।
मैं इस प्रश्न को अद्यतन करने के लिए उत्सुक रहूंगा यदि कोई व्यक्ति उपरोक्त को बाधित कर सकता है।