[Linux] grepの検索対象に色を付ける方法
【悩み】
grepした時、1行が長いと対象の文字列がどこにあるか見つけるのに時間がかかる!
悩み詳細
CentOS6系以下では、デフォルトではgrep
しても色がつかない。
このくらいの検索ならいいですが...
$ cat /etc/redhat-release | grep release
CentOS release 6.5 (Final)
こんな風になると、どこで引っかかってるかよく見ないと分からない。。。
(nどこー)
$ cat test.txt | grep n
aiueokakikukekosasisusesotatitutetonaninunenohahihuhehomamimumemoyayuyowawon
※上記は例ですが実際でも、、、
log解析や起動時のコマンドライン引数で長くなった文字列grep
などは大変です。
解決方法
そこでcolorオプション!
何も指定しないと赤色になります。
$ cat test.txt | grep n --color=auto aiueokakikukekosasisusesotatitutetonaninunenohahihuhehomamimumemoyayuyowawon
見やすいですね。一目でnの在処が分かります。
豆知識
実は、CentOS7ではデフォルトでもオプション無しで色がつきます。何故でしょう?
その秘密はalias
です。
下記の設定が入っており、grep
を実行すると、自動でcolor=autoオプションが付くようになっています。
$ alias | grep -w grep
alias grep='grep --color=auto'
$ cat /etc/redhat-release | grep Linux
CentOS Linux release 7.6.1810 (Core)
参考