カテゴリ: Linuxコマンド集 更新日: 2026/02/21

grep -wオプション|単語単位で検索する使い方を初心者向けに解説!

grep -wオプション|単語単位で検索する
grep -wオプション|単語単位で検索する

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

生徒

「Linuxで特定の単語だけを検索したいんですが、他の単語に紛れて見つけにくいです…」

先生

「そんなときは、grepコマンドの-wオプションを使えば、完全に一致する単語だけを検索できますよ。」

生徒

「部分一致じゃなくて、本当にその単語だけ見つけてくれるんですか?」

先生

「はい!それでは、grep -wオプションの使い方を一緒に学んでいきましょう。」

1. grepコマンドとは?

1. grepコマンドとは?
1. grepコマンドとは?

grep(グレップ)コマンドは、Linuxでテキストファイルの中から特定の文字列を探すためのコマンドです。たとえば、「りんご」という言葉を含む行を検索したいときに使います。

基本的な使い方は以下の通りです:


grep 検索したい文字列 ファイル名

しかし、通常のgrep部分一致で検索するため、「りんご」で検索すると「りんごジュース」や「青りんご」もヒットしてしまいます。

2. -wオプションとは?単語単位で検索する方法

2. -wオプションとは?単語単位で検索する方法
2. -wオプションとは?単語単位で検索する方法

-wオプションは、検索したい文字列と完全に一致する単語だけを見つけるためのオプションです。

たとえば「apple」という単語だけを探したい場合、grep -w appleと書くことで、「pineapple(パイナップル)」のように中に「apple」が含まれる単語は除外されます。

実際のコマンド例を見てみましょう。


cat fruits.txt
apple
pineapple
green apple
redapple
apple pie

では、grepで「apple」を検索してみます:


grep apple fruits.txt
apple
pineapple
green apple
redapple
apple pie

このように、部分一致なので「pineapple」「green apple」「redapple」などもヒットしています。

次に-wオプションを使ってみましょう:


grep -w apple fruits.txt
apple
green apple
apple pie

今度は、「apple」という独立した単語として出現している行だけが抽出されています。「pineapple」や「redapple」は無視されました。

3. 単語ってどうやって判定されるの?

3. 単語ってどうやって判定されるの?
3. 単語ってどうやって判定されるの?

Linuxのgrep -wコマンドでは、スペースや記号で区切られた単語を「1つの単語」として判断します。

たとえば、「This is a pen」という文があれば、「pen」は独立した単語ですが、「penholder」は違います。

そのため、以下のように入力すると:


echo "This is a penholder and a pen." | grep -w pen
penholder and a pen.

このように「pen」という単語が含まれる部分だけがヒットします。文章の中にあるpenholderは無視されるので、正確な結果が得られます。

4. よく使う組み合わせ:-i(大文字小文字を区別しない)

4. よく使う組み合わせ:-i(大文字小文字を区別しない)
4. よく使う組み合わせ:-i(大文字小文字を区別しない)

-wは単語単位で検索できますが、単語の大文字小文字を区別してしまいます。たとえば「Apple」と「apple」は違うと判断されてしまいます。

そんなときは、-iオプションを一緒に使いましょう。


grep -wi apple fruits.txt
apple
green apple
apple pie

このように、-w-iを組み合わせることで、単語単位かつ大文字小文字を無視して検索できます。

5. grep -wと他のコマンドとの違い

5. grep -wと他のコマンドとの違い
5. grep -wと他のコマンドとの違い

grepは柔軟な検索ができる便利なコマンドですが、部分一致が基本です。

それに対して、grep -w完全一致(単語単位)を行うため、検索精度が高く、誤ヒットを防げます。

ちなみに、他にも似たコマンドにawksedがありますが、grep -wはもっとも簡単で初心者向けです。

6. 応用編:複数の単語を検索する方法

6. 応用編:複数の単語を検索する方法
6. 応用編:複数の単語を検索する方法

複数の単語を検索したい場合は、-Eオプション(拡張正規表現)を使って、パイプ(|)で区切ります。


grep -wE "apple|orange" fruits.txt
apple
green apple
apple pie
orange

このように、appleまたはorangeが完全一致する行だけを抜き出せます。

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -wオプション|単語単位で検索する使い方を初心者向けに解説!
New2
ファイル・ディレクトリ操作
mkdirコマンドの--helpオプションを完全ガイド!初心者でも分かるヘルプ表示と使い方確認
New3
ファイル・ディレクトリ操作
dirname --helpオプション|ヘルプを表示してオプション一覧を確認する
New4
ファイル・ディレクトリ操作
find -print0オプションを完全解説!初心者でもわかる安全なxargsとの連携方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!