Dapatkan warna dalam lebih sedikit perintah dengan ccze: Shift + g tidak pergi ke akhir file?

9

Dalam semua alat untuk mendapatkan warna dengan lessperintah: -R, Pygments , GNU Sumber-highlight , vless , ... ccze make me sastified dengan perintah di bawah ini:

ccze -A < /path/to/log/file | less -R

tetapi Shift+ gtidak berfungsi seperti yang diharapkan:

  • Saya harus menekan Ctrl+ cdulu
  • ikuti dengan Shift+ g, tetapi tidak sampai ke akhir file

Apakah saya melewatkan sesuatu?

kuanta
sumber

Jawaban:

7

Saya melihat perilaku yang sama seperti yang Anda gambarkan ketika saya mencoba ini /var/log/syslogyang 2.1MBdalam ukuran dan sekitar 22500garis panjang. Curiga cczesebagian karena kesalahan itu, saya berlari:

time ccze -A /var/log/syslog > foo

Yang menunjukkan bahwa cczedibutuhkan sekitar 55 detik pada 1.2GHzmesin saya untuk menghasilkan keluaran berwarna. Saya berharap ini yang membuat lesshang, lesstidak bisa pergi ke akhir output sebelum cczeselesai membuatnya, jadi lesssepertinya hang.

Alternatif untuk membuat ini bekerja lebih baik:

  • Pilih output dengan grep, seddll. Dan kemudian pipa ke ccze.
  • Pra-mewarnai file dan jalankan lessitu.
Thor
sumber
Apakah ada alat untuk pra-mewarnai file log?
quanta
Saya berpikir sepanjang garis ccze -A LOG > SOME_FILE. Mungkin dieksekusi dalam pekerjaan cron.
Thor
Untuk apa Anda membutuhkannya, apakah harus mengeluarkan urutan ANSI? Saya biasanya menggunakan vimuntuk melihat log, memiliki highlight sintaks yang baik. Hanya mengujinya pada 7 MBfile log tanpa kelambatan yang nyata.
Thor
:se ft=sqltidak membuat saya senang saat melihat /var/log/mysqld.log.
quanta
1
Ini adalah adaptasi syntax/messages.vim, cukup sederhana syn matchsaja. Ambil di sini , masukkan ~/.vim/syntaxdan jalankan :set ft=mysqllog.
Thor
0

Baik Meta-> maupun Meta- bekerja dengan baik untuk saya. Saya sudah terbiasa dengan mereka karena mereka melakukan hal yang sama di emacs

ychaouche
sumber