ShellScript
Linux
shell
grep

lessとgrepに色を付けてコードを読みやすく

More than 1 year has passed since last update.

コードを眺める時って結局grepとlessだけ使ってたりする。たまにvimとかviewとか使うかもしれない。そういう時に読みやすい設定を作ろう。

まずGNU Source Highlightを入れる。

  • yumの場合
# yum install source-highlight
  • aptの場合
$ sudo apt install source-highlight

これでlessにコードハイライトを付けられるのだが、色シーケンスを解釈させるようlessに-Rオプションを追加する必要がある:

LESS=' -R '
LESSOPEN='| src-hilite-lesspipe.sh %s'

環境変数で設定してある。Ubuntuの人はフルパス/usr/share/source-highlight/src-hilite-lesspipe.shを書いて下さい。

次に、grepが寂しいので少しオプションを追加:

grep --with-filename --line-number --color=always

alias張るとかGREP_OPTIONS変数に入れるなどする。--with-filenameでファイル名を出力、--line-numberで行番号を出力、--color=alwaysでlessにも色シーケンスを出力。

grep -R hoge * | less

とかすると色付きで長いgrepを見れるようになる。

レガシーでかっこ悪さMAXのfuxkingな糞ツールと思われがちなlessやgrepですが、オプションで見た目整えることでシンプルでいいツールになると思います。

参考文献