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を含む行だけを表示し、さらに最初の一致だけハイライトできます。
まとめ
今回の記事では、Linux環境でログファイルやテキストデータを効率的に閲覧するための必須コマンドであるlessコマンド、その中でも検索視認性を劇的に向上させる「-g」オプションについて詳しく解説してきました。大規模なシステムログやソースコードを解析する際、標準の検索機能では画面内がハイライト(強調表示)で埋め尽くされてしまい、本当に注視すべき「最初の一致箇所」を見失ってしまうことが多々あります。
less -gオプションの最大のメリットは、検索結果の最初の一点のみにスポットライトを当てることで、情報のノイズを極限まで減らせる点にあります。これにより、エラーの発生起点や特定の設定項目の冒頭を素早く特定することが可能になります。
実践的なコマンド操作の振り返り
実際の運用現場でよく使われる、一般ユーザー権限での実行例を再度おさらいしておきましょう。例えば、システム内の設定ファイルを確認するシーンを想定します。
less -g /etc/services
/http
# 最初に見つかった「http」という文字列だけがハイライトされます
もし、システム管理者(ルートユーザー)として、より重要なシステムログを詳細に調査する場合は、行番号を表示する-Nオプションなどと組み合わせて、次のように実行するのがプロのテクニックです。
less -gN /var/log/auth.log
/sshd
# 行番号付きで表示され、最初の「sshd」一致箇所が強調されます
応用:パイプラインを活用した高度な絞り込み
単体での利用だけでなく、他のLinuxコマンドと組み合わせることで、lessの真価はさらに発揮されます。例えば、膨大なデータから特定のキーワードを含む行を抽出し、その結果をじっくり精査したい場合は、パイプ記号(|)を使用します。
cat access.log | grep "GET" | less -g
# GETを含む行だけを抽出し、その中で最初の一致箇所をハイライトして閲覧
このように、Linuxの基本コマンドを組み合わせるスキルを身につけると、エンジニアとしての調査スピードは格段に上がります。特にless -gは、地味ながらも「画面の見やすさ」という直感的な操作感に直結するため、初心者のうちから指に馴染ませておきたいオプションの一つです。
less検索オプションの比較表
| オプション | ハイライトの挙動 | 主な利用シーン |
|---|---|---|
| なし(標準) | 一致したすべての単語 | ファイル内全体の一致傾向を知りたいとき |
| -g | 最初の一致箇所のみ | 特定の情報の「出現場所」を素早く特定したいとき |
| -G | 一切ハイライトしない | 画面をスッキリさせ、文字そのものを純粋に読みたいとき |
Linuxの操作は、こうした細かなオプションの使い分けで快適さが大きく変わります。ぜひ、日々の開発やサーバー運用の中で、今回学んだless -gを積極的に試してみてください。
生徒
「先生、ありがとうございました!less -gを使うと、検索したときに画面がチカチカしなくて、どこを見ればいいか一瞬で分かりますね。特に長いログを読んでいるときに、全部が光っちゃうと目が疲れちゃうので助かります。」
先生
「その通りですね。エンジニアにとって『視認性』は作業ミスを減らすための重要な要素です。ちなみに、検索中に次の一致箇所に移動したいときはどうするんでしたっけ?」
生徒
「ええと、小文字のnキーを押すと次の箇所へ、大文字のNキーを押すと前の箇所へ移動できますよね。-gオプションをつけていても、この移動操作自体は変わらないんですか?」
先生
「素晴らしい!その通りです。移動するたびに、その移動先の単語だけが新しくハイライトされるので、常に『今どこを見ているか』が明確になります。複数のオプションを組み合わせる方法も覚えていますか?」
生徒
「はい!行番号を出す-Nとか、画面をクリアしない-Xとかですね。さっき試してみたんですけど、こんな感じで書けばいいんですよね?」
less -gNX my_script.sh
# 行番号を表示しつつ、最初の一致だけハイライトし、終了後も内容を残す
先生
「完璧です。コマンドのオプションは一つずつ覚えるよりも、そうやって自分の使いやすい『お気に入りセット』を作ってしまうのが上達の近道ですよ。これからも、もっと便利なLinuxの世界を探索していきましょう!」
生徒
「はい!なんだかLinuxのコマンドを叩くのが楽しくなってきました。まずは自分のPCのログファイルをless -gで覗いて練習してみます!」