GNU/Linux >> Belajar Linux >  >> Linux

Warnai keluaran ekor

Saya menulis naskah untuk ini bertahun-tahun yang lalu. Anda dapat dengan mudah menutupi kasus dari beberapa warna dengan menyalurkan pemanggilan berturut-turut dari highlight satu sama lain.

Dari README:

Usage: ./highlight [-i] [--color=COLOR_STRING] [--] <PATTERN0> [PATTERN1...]

This is highlight version 1.0.

This program takes text via standard input and outputs it with the given
perlre(1) pattern(s) highlighted with the given color.  If no color option
is specified, it defaults to 'bold red'.  Colors may be anything
that Perl's Term::ANSIColor understands.  This program is similar to
"grep --color PATTERN" except both matching and non-matching lines are
printed.

The default color can be selected via the $HIGHLIGHT_COLOR environment
variable.  The command-line option takes precedence.

Passing -i or --ignore-case will enable case-insensitive matching.

If your pattern begins with a dash ('-'), you can pass a '--' argument
after any options and before your pattern to distinguish it from an
option.

ya, ada cara untuk melakukan ini. Artinya, selama terminal Anda mendukung urutan escape ANSI . Ini adalah sebagian besar terminal yang ada.

Saya rasa saya tidak perlu menjelaskan bagaimana cara grep, sed dll. Point warnanya kan?

lihat di bawah, ini akan membuat

WARN yellow
ERROR red
foo   green

ini contohnya:

kent$ echo "WARN
ERROR
foo"|sed 's#WARN#\x1b[33m&#; s#ERROR#\x1b[31m&#; s#foo#\x1b[32m&#'

Catatan :\x1b adalah heksadesimal untuk ESC karakter (^V Esc ).

untuk melihat hasilnya:


Saya menulis TxtStyle, utilitas kecil untuk mewarnai log. Anda menentukan ekspresi reguler untuk disorot di ~/.txts.conf berkas:

[Style="example"]
!red: regex("error")
green: regex("\d{4}-\d\d-\d\d")
# ...

Dan kemudian terapkan gaya:

txts -n example example.log

atau Anda juga dapat mem-pipe output

tail -f example.log | txts -n example


Saya telah menggunakan alat bernama grc untuk ini selama bertahun-tahun. bekerja seperti pesona. Muncul dengan beberapa templat yang cukup bagus untuk banyak keluaran dan format log standar dan mudah untuk menentukannya sendiri. Perintah yang sering saya gunakan adalah

grc tail -f /var/log/syslog

Itu mewarnai output syslog sehingga mudah untuk menemukan kesalahan (biasanya ditandai dengan warna merah.

Temukan alatnya di sini:

https://github.com/garabik/grc

(ini juga tersedia sebagai paket untuk rasa linux yang paling umum).


Linux
  1. Cara tail -f file log terbaru dengan pola yang diberikan

  2. Menghilangkan baris pertama dari keluaran perintah Linux mana pun

  3. Output perpipaan untuk dipotong

  1. Apakah mungkin untuk mewarnai keluaran yang disalurkan ke lebih banyak?

  2. arti keluaran ps aux

  3. Menonton sesuatu ditulis ke file langsung dengan ekor

  1. Sintaks File Konfigurasi Loggedfs?

  2. Mewarnai Keluaran Ekor Dengan Sed?

  3. Bagaimana cara menerapkan filter ke output waktu nyata dari `tail -f`?