着色の問題

着色の問題

トラブルシューティングを簡単にするために、wim、less、またはその他の手段を使用して大容量(〜6000行)のログファイルを表示する方法を変更したいと思います。

errorログ内の特定の行(...など)を強調表示したり、パターンに応じて他の行を非表示にしたいです。warninginfo

どのツールを使用できますか?シェルスクリプトだけが必要ですか?重要なことは、プロセスの後に検索操作を実行するためにless、vimなどを使用して出力を読み取ることができることです。

編集:ログの小さな部分:

2016/10/25 12:19:24.403355 INFO <ServiceManager.cpp#2614 TID#3> Security object has NOT been parsed
2016/10/25 12:19:24.403369 INFO <ServiceManager.cpp#1263 TID#3> Service object sequence started
2016/10/25 12:19:24.403372 DBG <ServiceManager.cpp#1276 TID#3> preinvoke succeeded

ベストアンサー1

awkValentin B.のソリューションのようなものに基づいたシェルスクリプトをお勧めします。

$ cat colorize
awk '
function color(c,s) {
        printf("\033[%dm%s\033[0m\n",30+c,s)
}
/error/ {color(1,$0);next}
/success/ {color(2,$0);next}
/warning/ {color(3,$0);next}
/INFO/ {color(4,$0);next}
/DBG/ {color(5,$0);next}
{print}
' $1

カラー出力を対話形式で表示するには、lessrawモードを使用します。たとえば、次のようになります。

colorize mylog.txt | less -R

おすすめ記事