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).