less -gオプションの使い方を完全ガイド!検索の最初だけハイライト表示する方法
生徒
「lessでキーワード検索したとき、全部の一致部分がハイライトされて、どこが最初なのか分かりづらいんです…。」
先生
「それなら、lessの-gオプションを使うと、検索で一致した最初の箇所だけがハイライトされるようになりますよ。」
生徒
「へぇ、それなら見やすくなりそうですね!どんな風に使うんですか?」
先生
「それでは、less -gオプションの基本から使い方まで、丁寧に説明していきましょう。」
1. lessコマンドとは?
lessは、Linuxで長いテキストファイルを読みやすくするための閲覧専用コマンドです。上下キーでスクロールしたり、キーワードで検索できたりする便利なツールで、ログファイルや設定ファイルの確認によく使われます。
catとの違いは、「1画面ずつ見れる」「途中停止できる」「キーワード検索が可能」などの操作性の良さにあります。
2. -gオプションとは?
-g(または--hilite-search)オプションは、lessコマンドでキーワード検索をした際に、最初に一致した箇所だけをハイライト表示するオプションです。
通常のlessでは、検索に一致したすべてのキーワードがハイライトされてしまい、どれが最初の一致か分かりにくくなります。
そんなときに-gを使えば、「最初の一致だけに注目できる」状態になるため、ログ調査などで特に便利です。
3. 基本的な使い方
以下のように-gを付けて、lessコマンドを実行します。
less -g ファイル名
たとえば、ログファイルを開いてから検索する場合:
less -g access.log
ファイルを開いた後、検索は/キーを押してキーワードを入力し、Enterキーで実行します。
/404
このとき、最初に一致した404だけがハイライトされます。他の一致箇所はハイライトされません。
4. 実行例を見てみよう
次のようなファイルを用意しておきましょう。
cat sample.log
INFO: User login
ERROR: Something failed
ERROR: Failed to connect
INFO: Process ended
このファイルを-gオプション付きで開きます。
less -g sample.log
次に、検索コマンドで「ERROR」を探します。
/ERROR
この時、最初の「ERROR」のみがハイライトされます。他の「ERROR」は色がつきません。
5. 他の検索オプションとの違い
lessでは検索に関するオプションがいくつかあり、-gとの違いを理解することで使い分けができるようになります。
-g:最初に一致した1つだけをハイライト-G:一致しても何もハイライトしない- (オプションなし):一致したすべてをハイライト
たとえば、すべてを強調表示したい場合はオプションなしが便利ですが、最初だけに注目したい場合は-gの方が見やすくなります。
6. よく使うオプションと組み合わせる
-gは、他のlessオプションと組み合わせて使うとさらに便利です。
-N:行番号を表示-X:less終了後に画面をクリアしない-S:折り返さず横スクロール可能にする
たとえば、次のように組み合わせると、検索がしやすく、画面も見やすくなります。
less -gXSN error.log
7. lessとgrepの違い
grepはキーワードに一致する行だけを表示しますが、lessはファイル全体を表示しつつ、検索ができるツールです。
つまり、grepは「抽出」、lessは「表示と検索」に特化しており、ファイルの全体像を見ながら探したいときにlessが適しています。
両方を組み合わせる使い方もできます。
grep ERROR access.log | less -g
このようにすると、ERRORを含む行だけを表示し、さらに最初の一致だけハイライトできます。