Paksa lebih sedikit untuk menampilkan file sebagai teks

14

Kadang-kadang kurang salah mengenali file sebagai biner dan mencoba untuk menunjukkan hexdump pada LHS (biasanya yang dengan karakter non-alfanumerik tetapi masih mengandung karakter ASCII yang dapat dicetak). Bagaimana memaksanya untuk mengenalinya sebagai teks?

Maciej Piechotka
sumber
Mencari jawaban lain. Saya memiliki file log yang cat somefilemenunjukkan ASCII, tetapi less somefilemengatakan mungkin biner dan menampilkannya. echo $LESSOPENkosong dan less -Ltidak membantu.
Nathan Long
2
@NathanLong Ini mungkin bisa diterima untuk membuka pertanyaan baru karena solusi di sini tidak menyelesaikan masalah Anda (pastikan untuk mencatatnya). Namun ketika Anda mengatakan "mungkin biner dan ditampilkan sebagai seperti itu", apakah Anda mengatakan itu menampilkan representasi hex data, atau Anda melihat data biner mentah (karena semua simbol aneh dan semacamnya)?
Patrick
Apa itu LHS? Ini baru bagi saya.
dfc
1
@dfc sisi kiri .
Maciej Piechotka

Jawaban:

19

Saya pikir Anda memiliki (atau distribusi Anda memiliki) LESSOPENfilter diatur untuk less. Coba yang berikut ini untuk memberi tahu lessagar tidak menggunakan filter:

less -L my_binary_file

Untuk eksplorasi lebih lanjut, cobalah juga echo $LESSOPEN. Mungkin berisi nama skrip shell ( /usr/bin/lesspipeuntuk saya), yang dapat Anda baca untuk melihat jenis filter apa yang ada. Coba juga man less, dan baca bagian Input Preprocessor .

Jander
sumber
4

Untuk kasus LESSOPENtidak menjadi masalah. lessOpsi berikut dapat dicoba:

  1. -fatau --force: Selain memungkinkan file non-reguler dibuka, file itu "juga menekan pesan peringatan ketika file biner dibuka".
  2. -ratau --raw-control-chars: "Menyebabkan karakter kontrol mentah ditampilkan. Standarnya adalah menampilkan karakter kontrol menggunakan notasi tanda sisipan; misalnya, kontrol-A (oktal 001) ditampilkan sebagai ^A. Peringatan: ketika -ropsi digunakan, less tidak dapat melacak tampilan sebenarnya dari layar (karena ini tergantung pada bagaimana layar merespon masing-masing jenis karakter kontrol) .Jadi, berbagai masalah tampilan dapat terjadi, seperti garis panjang terpecah di tempat yang salah.
  3. -Ratau --RAW-CONTROL-CHARS: Bentuk yang lebih lemah di -ratas, hanya urutan pelarian "warna" ANSI yang dihasilkan dalam bentuk "mentah". "Tidak seperti -r, tampilan layar dipertahankan dengan benar dalam banyak kasus." Ini berguna jika Anda misalnya melihat file log yang menggunakan urutan kontrol warna ANSI.

Anda dapat bereksperimen dengan menekan tombol -diikuti oleh rtanpa menjalankan kembali less. Anda dapat menambahkan opsi ini ke LESSvariabel lingkungan untuk membuat pengaturan permanen (misalnya dengan memodifikasi file profil shell Anda); jika terminal Anda dapat menunjukkan warna, saya sangat menyarankan untuk menambahkan pengaturan -RAnda LESS. Anda harus memastikan terminal Anda dikonfigurasi untuk menggunakan pengkodean karakter yang sama dengan file teks Anda.

FooF
sumber