Tôi tìm thấy một cách tốt để làm điều đó. Trên hệ thống của tôi, các dòng đầu ra dài được rắc "^ M" (khoảng trống theo sau là trả về vận chuyển). "^ M" có thể được thay thế độc đáo bằng ký tự null "^ @", hoàn toàn không hiển thị khi bạn gửi tệp.
Tôi cũng nắm bắt thời gian, vì vậy để phát lại tập tin một cách hoàn hảo, tôi không thể đơn giản loại bỏ hoàn toàn "^ M" bằng cách sử dụng các lệnh bên dưới (vì scriptreplay đếm byte):
tr '\r' '\0' | sed 's/ \x0//g'
Tôi chạy lệnh script của tôi như thế này:
script -t -f session.log 2>timing
Vì vậy, những gì tôi làm sau đó là:
cat session.log | tr '\r' '\0' > typescript
scriptreplay -t timing | sed 's/ \x0//g'
Chỉnh sửa đầu tiên (trước khi phát lại) giữ lại số byte trong tệp. Chỉnh sửa thứ hai (sau khi phát lại) được loại bỏ khoảng trắng ở những nơi ngẫu nhiên. (Lưu ý rằng theo mặc định scriptreplay tìm tệp đầu vào có tên "typecript", đó là lý do tại sao tôi không cung cấp nó sau "thời gian".)