Pengguliran horizontal dengan kenaikan lebih kecil dengan lebih sedikit -S


25

Saya menggunakan lessuntuk mem-parsing log akses HTTP. Saya ingin melihat semuanya dengan rapi dalam satu baris, jadi saya menggunakan -S.

Masalah yang saya miliki adalah bahwa sepertiga pertama dari jendela terminal saya diambil dengan metadata yang tidak saya pedulikan. Ketika saya menggunakan tombol panah untuk menggulir ke kanan, saya menemukan itu menggulir melewati awal informasi yang saya pedulikan!

Saya hanya dapat menghapus awal dari setiap baris, tetapi saya tidak tahu apakah saya mungkin memerlukan data itu di masa depan, dan saya lebih suka tidak harus memelihara file yang terpisah atau menjalankan skrip setiap kali saya ingin melihat beberapa log.

Contoh

Garis ini:

access.log00002: 10.0.0.0 - USER_X [07 / Nov / 2013: 16: 50: 50 +0000] "DAPATKAN / some / long / URL"

Akan gulir ke: ng/URL"

Pertanyaan

Apakah ada cara saya bisa menggulir dengan kenaikan yang lebih kecil, baik dengan karakter atau kata?

Jawaban:


19

Satu-satunya perintah pengguliran horizontal menggulir setengah layar, tetapi Anda dapat melewati argumen numerik untuk menentukan jumlah karakter, misalnya mengetikkan gulir 4 Rightke kanan sebanyak 4 karakter. Less tidak benar-benar memiliki gagasan "baris saat ini" dan tidak membagi baris menjadi kata-kata, jadi tidak ada cara untuk menggulirkan kata pada suatu waktu.

Anda dapat menentukan perintah yang bergulir dengan jumlah karakter yang tetap. Misalnya, jika Anda ingin Shift+ Leftdan Shift+ Rightmenggulir dengan 4 karakter sekaligus:

  1. Tentukan urutan kontrol yang dikirim terminal Anda untuk kombinasi tombol ini. Terminal mengirim urutan byte yang dimulai dengan escape (yang dapat ditulis \e, \033, ^[dalam berbagai konteks) karakter untuk tombol fungsi dan keychords. Tekan Ctrl+ V Shift+ Leftpada prompt shell: ini menyisipkan karakter escape secara harfiah (Anda akan melihat ^[di layar) alih-alih sedang diproses oleh shell Anda, dan menyisipkan sisa urutan escape. Pengaturan umum memiliki Shift+ Leftdan Shift+ Rightkirim \eO2Ddan \eO2Cmasing - masing.

  2. Buat file yang dipanggil ~/.lesskeydan tambahkan baris berikut (sesuaikan jika terminal Anda mengirim urutan escape yang berbeda):

    #command
    \eO2D noaction 4\e(
    \eO2c noaction 4\e)
    

    Kemudian jalankan lesskey, yang mengubah yang dapat dibaca manusia ~/.lesskeymenjadi file biner ~/.lessyang lessberbunyi ketika dimulai.


19

Anda dapat menggunakan opsi "- #" untuk mengatur jumlah kolom untuk pengguliran horizontal.

Dari halaman manual:

- # atau --shift
Menentukan jumlah posisi default untuk menggulir secara horizontal dalam perintah RIGHTARROW dan LEangganROW. Jika angka yang ditentukan adalah nol, itu menetapkan jumlah posisi default menjadi setengah dari lebar layar.

Contoh (atur gulir horizontal menjadi 10 kolom):

less -S - # 10 my_file


Apakah ada kemungkinan untuk menambahkan opsi ini ke beberapa file konfigurasi jadi saya tidak perlu meneruskan - opsi # 1 setiap kali saya mengetik perintah?
Trismegistos

1
@ Trismegistos Ya, Anda dapat mengatur variabel lingkungan di ~/.bashrcdenganexport LESS="-# 1"
wisbucky

Anda juga dapat mengatur persentase lebar layar jika angka dimulai dengan titik desimal. Misalnya, -# .25akan gulir dengan 1/4 dari lebar layar.
wisbucky


2

Alternatifnya adalah menggunakan mostpager.

In most, no-wrap ( -S) adalah default dan Rightmenggulir satu kolom ke kanan alih-alih setengah layar. Gunakan >atau Tabuntuk menggulir lebih cepat.

Alternatif lain adalah w3mpager (juga salah satu browser web terminal terbaik) tempat Anda dapat menggunakan <, >juga, dan ,, .untuk pengguliran biji-bijian yang lebih halus (tombol yang sama pada keyboard qwerty).


Ini tidak benar. Lebih banyak pembungkus menjadi default dan tidak ada opsi -S.
Trismegistos

1
@ Trismegistos, saya tidak berbicara tentang more(yang ada lusinan implementasi), tetapi tentang most(oleh John E. Davis, saya tidak mengetahui adanya implementasi lain).
Stéphane Chazelas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.