Saya menemukan cara yang baik untuk melakukannya. Di sistem saya, jalur output panjang ditaburi dengan "^ M" (ruang kosong diikuti oleh carriage return). "^ M" dapat diganti dengan baik dengan karakter nol "^ @", yang tidak ditampilkan sama sekali saat Anda menyimpan file.
Saya menangkap waktu juga, jadi untuk memutar ulang file dengan sempurna, saya tidak bisa menghapus "^ M" sepenuhnya menggunakan perintah di bawah ini (karena scriptreplay menghitung byte):
tr '\r' '\0' | sed 's/ \x0//g'
Saya menjalankan perintah skrip saya seperti ini:
script -t -f session.log 2>timing
Jadi, apa yang saya lakukan setelah itu adalah:
cat session.log | tr '\r' '\0' > typescript
scriptreplay -t timing | sed 's/ \x0//g'
Hasil edit pertama (sebelum replay) mempertahankan jumlah byte dalam file. Suntingan kedua (setelah replay) menghilangkan ruang putih di tempat acak. (Perhatikan bahwa secara default scriptreplay mencari file input bernama "naskah", itulah sebabnya saya tidak menyediakannya setelah "waktu".)