Bash-ben is lehet színes a világ

Ha realtime log ellenőrzésről, vagy akármilyen konzol megjelenítésről van szó, a kedvenc eszközöm erre a mycolorize. Egyszerűen, de nagyon okosan megírt kis szkript, amivel mintaillesztések segítségével lehet szövegrészeket színezni.

Használata igen egyszerű, standard inputról megetetjük a tartalommal amit ki akarunk színezni, majd paraméterekben megadjuk, hogy milyen mintára illeszkedő szövegeket milyen színűre akarunk színezni, illetve még prüttyögést is bekapcsolhatunk a mintákhoz:

Usage:   mycolorize {color} {regex} [bell] ... {color} {regex} [bell]

További segítség, hogy egy illeszkedésnél meg lehet adni, hogy az illeszkedő szöveget csak a /-től színezze (ez nem egy V, hanem egy backslash és egy slash).

Az egyik kedvenc megoldásom, amit példaként hoz fel a szkript szerzője az alábbi:

tail -f /var/log/apache2/error.log /var/log/{sys,auth.,kern.}log | mycolorize green '[-A-Za-z0-9/]+[[0-9]+]'     cyan '^... .. ..:..:.. /[A-Za-z0-9.]+ '     blue '^(.... )?... .. ..:..:..( .....)? '     blue '^.....-..-.. ..:..:...'     red '(error|[Ww]arning|[Nn]ot found|does not exist|[Rr]efused|[Uu]nknown)'     purple '([Ll]ogin|accepted)'     cyan '[0-9]+.[0-9]+.[0-9]+.[0-9]+'     pink '[Kk]ernel' beep     gray '^==> .* <==$'

Ez egész egyszerűen azt csinálja, hogy az apache error.log-ját, a syslog-ot, az auth.log-ot és a kern.log-ot színezi. (IP-t, hibaüzeneteket, dátumokat, stb.) Én ebbe még bevettem a messages fájlt is, és így aztán szép kis színes-szagos log nézegetőt kapunk, amivel aztán iszonyat könnyen lehet nyomon követni mik történnek épp a rendszeren. Persze ezt bármilyen logra használhatjuk, csak a log formátuma alapján kell a mintákat belőni.

A szkript persze nyilván minél több mindent színez, annál lassabb lesz, de ezt azért meg lehet még emészteni.

Én pl TSM konzol színezésre is ezt használom, pillanatok alatt át lehet vele látni a káoszt.

Érdemes a szkriptet is megnézni, aki szeret bash-ben programozni 🙂

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.
This entry was posted in Uncategorized and tagged , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Comment