カテゴリ: Linuxコマンド集 更新日: 2025/10/20

grep -iオプションの使い方を完全ガイド!Linuxで大文字小文字を区別せず検索する方法

grep -iオプション|大文字小文字を区別せず検索する
grep -iオプション|大文字小文字を区別せず検索する

先生と生徒の会話形式で理解しよう

生徒

「先生、grepコマンドで文字列を検索するとき、大文字と小文字が違うと見つからないんですか?」

先生

「うん、基本的にはgrepは大文字と小文字を区別して検索するんだ。でもそれを無視したいときには、-iオプションを使うと便利だよ。」

生徒

「なるほど……。たとえば “Error” と “error” の両方を見つけたいときに使えるってことですね!」

先生

「そういうこと!では、grep -iオプションの使い方を一緒に見ていこうか。」

1. grep -iオプションとは?

1. grep -iオプションとは?
1. grep -iオプションとは?

grep -iオプションは、Linuxで文字列を検索するときに大文字と小文字を区別しないようにするための指定です。

たとえば、「ERROR」「Error」「error」など、表記の違う単語が混在しているログファイルでも、すべてを一括で見つけたいときに非常に便利です。

2. grep -iの基本的な使い方

2. grep -iの基本的な使い方
2. grep -iの基本的な使い方

たとえば「log.txt」というファイルの中から「error」を探したいとき、通常は以下のようにします。


grep error log.txt
Error: 接続失敗
error: ファイルが見つかりません

この場合、2行目の「error」は表示されますが、1行目の「Error」は表示されません。

そこで-iオプションを使ってみましょう。


grep -i error log.txt
Error: 接続失敗
error: ファイルが見つかりません

今度は、「Error」も「error」も両方見つかりました。

3. なぜ大文字・小文字を区別しない検索が必要なの?

3. なぜ大文字・小文字を区別しない検索が必要なの?
3. なぜ大文字・小文字を区別しない検索が必要なの?

現実のファイルでは、人間が書いた文章やログの中に、大文字と小文字が混ざっていることがよくあります

たとえば、エラーメッセージが「ERROR」「Error」「error」など、表記揺れがある場合、-iを使わないと全部を見つけるのは大変です。

検索ミスを防ぐためにも、grep -iオプションは覚えておくと安心です。

4. grep -iと他のオプションを組み合わせる

4. grep -iと他のオプションを組み合わせる
4. grep -iと他のオプションを組み合わせる

grepの-iは、他のオプションとも一緒に使えます。たとえば、行番号も一緒に表示したいときは-nを追加します。


grep -in error log.txt
3:Error: 接続失敗
8:error: ファイルが見つかりません

また、サブディレクトリを含めてすべてのファイルを検索したいときは-r(再帰)と組み合わせます。


grep -ir error /var/log/
system.log:Error: timeout
application.log:error: failed to start

5. 日本語でも使える?

5. 日本語でも使える?
5. 日本語でも使える?

もちろん、日本語の文字列でも使えます。ただし、Linuxの環境によっては、文字コードの違いによって検索できないことがあります。UTF-8環境であれば基本的に問題なく使えます。


grep -i エラー log.txt
エラーが発生しました
エラーコード: 500

「エラー」「エラーコード」など、すべての一致する行が表示されます。

6. grep -iと完全一致検索との違い

6. grep -iと完全一致検索との違い
6. grep -iと完全一致検索との違い

grep -iは、指定した文字列が行のどこかに含まれていればヒットします。完全一致(=その文字列だけ)を探したいときは、-wオプションを追加します。

このように組み合わせると、「error」という単語だけに反応します。「error_code」などは対象外になります。


grep -iw error log.txt
error: データベース接続失敗

7. Windows環境で作られたファイルをgrep -iで検索する場合

7. Windows環境で作られたファイルをgrep -iで検索する場合
7. Windows環境で作られたファイルをgrep -iで検索する場合

Windowsで作られたテキストファイルには、行末に特殊な改行コード(\r\n)が入っていることがあります。Linuxでは通常\nが使われます。

そのため、Windows由来のファイルをgrepで検索すると、うまくヒットしないことがあります。そういうときは、dos2unixというツールで文字コードを変換すると解決します。

8. grep -iが使える実例(よくある使用シーン)

8. grep -iが使える実例(よくある使用シーン)
8. grep -iが使える実例(よくある使用シーン)
  • Webサーバーのログ解析:Apacheやnginxのログに含まれる「404 Not Found」などを一括検索
  • 設定ファイルのチェック:設定ファイル内の「Warning」「warning」「WARNING」などを漏れなく確認
  • メール本文の調査:件名や本文に含まれるキーワード(例:重要・Important)を見つけたいとき
カテゴリの一覧へ
新着記事
touch --no-createオプションの使い方を完全ガイド!初心者でもわかるファイルの新規作成防止法
basenameのSUFFIX指定で拡張子を除いてファイル名を取得する方法を解説!初心者向けLinuxコマンド講座
mv -tオプションの使い方|移動先ディレクトリを先に指定する便利な方法
lsコマンドの-rオプション|逆順(降順)でファイルを並べる方法を初心者向けに解説!
人気記事
No.1
Java&Spring記事人気No1
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.2
Java&Spring記事人気No2
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
No.3
Java&Spring記事人気No3
rm -Rオプションとは?初心者でもわかる再帰的にディレクトリを削除する方法
No.4
Java&Spring記事人気No4
cp -nオプションの使い方|既存ファイルを上書きしないコピー方法を初心者向けに解説!