Apakah mungkin untuk menghapus urutan ESC dalam file output Layar GNU? Hal-hal seperti warna, tab dan karakter pelarian lainnya masuk ke file log dan menjadi sulit untuk diuraikan.
Saya sudah mencoba Dr. Google & Co. serta membaca manual, tetapi belum dapat menemukan yang cocok ...
Mungkin saya sudah melewatkan sesuatu?
linux
terminal
gnu-screen
shaond
sumber
sumber
Gunakan ansifilter.
sumber
brew install ansifilter
dan itu bekerja seperti pesona.Coba juga opsi -r atau -R yang kurang.
sumber
Setelah menangkap sesi Anda di screenlog.n, Anda bisa memasukkan file ke terminal dan kemudian menggunakan perintah hardcopy layar untuk membuang output cat ke file. Hasilnya akan memberi Anda output bersih yang tidak memiliki urutan pelarian.
Satu-satunya 'gotcha' tampaknya adalah memastikan bahwa hardcopy menangkap semua hal di buffer scrollback dan bahwa buffer scrollback hanya berisi apa yang ingin Anda tangkap.
Perhatikan bahwa -h memastikan bahwa Anda menangkap seluruh riwayat scrollback dan bukan hanya whats di tampilan langsung
File screenlog.n.cleaned sekarang akan berisi hardcopy dari output cat dan tidak akan menyertakan urutan escape
sumber
wc -l
tidak berhasil untuk saya. Ia mengembalikan 28.226, tetapi benar-benar membutuhkan 33031 dalam kasus saya.Saya menggunakan
strings
perintah untuk membuat log layar dapat dibaca. Di bawah Debian itu adalah bagian dari paket binutils.Seperti yang dikatakan halaman manualnya:
sumber
Jika Anda
screen
pengguna maka solusi hardcopy layar yang disarankan oleh postingan Joel Verks akan bekerja paling baik - dengan asumsi bahwa Anda memiliki scrollback besar yang ditentukan dalam.screenrc
:maka Anda akan melakukannya:
Tampilkan
screenlog
file Anda :Gunakan
hardcopy -h
(lihat halaman manual layar) untuk menyimpan konten jendela saat ini dan buffer scrollback-nya ke dalamhardcopy.#
file:sumber