Linuxでターミナルに出力されるメッセージのうち特定のキーワードやパターンに色を付けて表示したいことがあると思う。例えばコマンドの長いヘルプメッセージのうち特定キーワードをハイライトしたい…など。こんな時に良い方法は無いものかと調べたところ、なんと、grep
コマンドで実現できるらしい。
- Unix & Linux Stack Exchange — Convince grep to output all lines, not just those with matches
いわく、『ハイライトしたいパターン または $
(行末) をgrepすれば良い』とのこと。行末にマッチさせるために正規表現指定は必須。なるほどだ。
たとえば Go 言語で失敗した単体テスト項目を見つけやすくするには:
go test -v | grep -e '(FAIL|$)'
他にも、エラーや警告に気付きやすい形でログの目視監視をしたければ:
tail -f log.txt | grep -e '(ERR|WARN|$)'
コンソール出力のハイライト専用ツールがあるのは知っていたけれど、なぜ標準的なLinux環境にどれも入っていないのかと思っていたら、grepで良かったんだな。灯台下暗し。