मुझे इसे करने का एक अच्छा तरीका मिला। मेरे सिस्टम पर, "^ M" के साथ लंबी आउटपुट लाइनें बिछाई जाती हैं (रिक्त स्थान जिसके बाद गाड़ी वापसी होती है)। "^ M" को अच्छी तरह से अशक्त चरित्र "^ @" के साथ बदल दिया जा सकता है, जो फ़ाइल को बिल्ली करते समय बिल्कुल भी प्रदर्शित नहीं करता है।
मैं समय को भी कैप्चर करता हूं, इसलिए फ़ाइल को पूरी तरह से रीप्ले करने के लिए, मैं नीचे दिए गए आदेशों का उपयोग करके "^ M" को पूरी तरह से हटा नहीं सकता हूं (क्योंकि स्क्रिप्ट्रेप बाइट्स गिनता है):
tr '\r' '\0' | sed 's/ \x0//g'
मैं अपनी स्क्रिप्ट कमांड इस तरह से चलाता हूं:
script -t -f session.log 2>timing
तो, मैं इसके बाद क्या करता हूं:
cat session.log | tr '\r' '\0' > typescript
scriptreplay -t timing | sed 's/ \x0//g'
पहला संपादन (रीप्ले से पहले) फ़ाइल में बाइट्स की संख्या को बरकरार रखता है। दूसरा संपादन (रिप्ले के बाद) यादृच्छिक स्थानों में सफेद स्थान से छुटकारा दिलाता है। (ध्यान दें कि डिफ़ॉल्ट स्क्रिप्टरेप्ले में "टाइपस्क्रिप्ट" नाम की इनपुट फ़ाइल दिखती है, यही वजह है कि मैंने इसे "टाइमिंग" के बाद प्रदान नहीं किया।)