カテゴリ: Linux 更新日: 2026/04/23

Linuxのfgrepコマンド入門!固定文字列検索で簡単にファイル内容を見つける方法

Linuxのfgrepコマンドとは?固定文字列検索を行うgrep
Linuxのfgrepコマンドとは?固定文字列検索を行うgrep

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

生徒

「先生、Linuxでテキストファイルの中から特定の文字列を探したいときって、どのコマンドを使えばいいですか?」

先生

「その場合は、grepコマンドやその派生コマンドであるfgrepを使うと便利です。特にfgrepは固定文字列を検索するのに特化しています。」

生徒

「固定文字列って何ですか?正規表現とは違うんですか?」

先生

「固定文字列(コテイモジレツ)とは、そのままの文字の並びのことです。正規表現のようにパターンを使わず、文字そのものを探すときにfgrepは便利です。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. fgrepコマンドとは?

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

fgrepはLinuxで固定文字列検索を行うgrepコマンドの派生版です。grepは「Global Regular Expression Print」の略で、正規表現(せいきひょうげん)を使って文字列を検索できますが、fgrepは正規表現を無視して文字列そのものを検索します。

そのため、複雑な記号や特殊文字が含まれている文字列でも安全に検索でき、プログラムコードやログファイルの中で特定の文字列を探すときに便利です。

2. fgrepコマンドの基本的な使い方

2. fgrepコマンドの基本的な使い方
2. fgrepコマンドの基本的な使い方

fgrepの基本構文は非常にシンプルです。


fgrep [検索したい文字列] [ファイル名]

例えば、「error」という文字列をログファイルから探す場合は次のように実行します。


fgrep "error" sample.log
error: failed to start service
error: cannot open file config.txt

3. fgrepで複数の文字列を同時に検索する方法

3. fgrepで複数の文字列を同時に検索する方法
3. fgrepで複数の文字列を同時に検索する方法

fgrepは、複数の文字列を同時に検索することもできます。複数の文字列はファイルで指定することも可能です。


fgrep -f patterns.txt sample.log

ここでpatterns.txtには検索したい文字列を1行ずつ書きます。


error
warning
failed

この方法でログファイルやテキストファイルから複数の文字列を一度に検索できます。

4. fgrepの便利なオプション

4. fgrepの便利なオプション
4. fgrepの便利なオプション

fgrepにはいくつか便利なオプションがあります。特に初心者に使いやすいものを紹介します。

  • -i:大文字・小文字を区別せず検索
  • -n:行番号を表示
  • -r:ディレクトリ内を再帰的に検索

fgrep -in "error" /var/log/syslog
12:Error starting service
45:error opening file
89:ERROR writing output

5. fgrepとgrep、egrepの違い

5. fgrepとgrep、egrepの違い
5. fgrepとgrep、egrepの違い

grepは正規表現(せいきひょうげん)を使った検索、egrepは拡張正規表現を使った検索、fgrepは固定文字列検索です。正規表現の知識がなくてもfgrepならそのまま文字列を検索できるので、初心者に向いています。


grep "error" sample.log
egrep "error|failed" sample.log
fgrep "error" sample.log

6. fgrepでディレクトリ内のすべてのファイルを検索する

6. fgrepでディレクトリ内のすべてのファイルを検索する
6. fgrepでディレクトリ内のすべてのファイルを検索する

ディレクトリ内のすべてのファイルから特定の文字列を探す場合は、-rオプションを使います。


fgrep -r "TODO" ./project
./project/main.c: // TODO: implement function
./project/utils.c: // TODO: add error handling

これによりサブディレクトリ内のファイルも含めて検索でき、プログラム開発やログ解析に便利です。

7. fgrepを使うときの注意点

7. fgrepを使うときの注意点
7. fgrepを使うときの注意点

fgrepは固定文字列検索のため、正規表現は使えません。もし正規表現で複雑な検索をしたい場合はgrepegrepを使う必要があります。また、検索対象のファイルが大きい場合は処理に時間がかかることがあります。

それでも、特定の文字列だけを確実に見つけたい場合はfgrepが最もシンプルで安全です。

8. まとめとしての応用例

8. まとめとしての応用例
8. まとめとしての応用例

最後に、実際にfgrepを使った便利な応用例を紹介します。例えば、設定ファイルの中から「localhost」という文字列だけを一括で抽出したい場合は次のようにします。


fgrep "localhost" /etc/hosts
127.0.0.1   localhost
::1         localhost

このようにfgrepを活用すれば、Linuxでのテキスト検索が初心者でも簡単に行えます。ログファイルの解析やコードレビュー、設定ファイルのチェックなど、様々な場面で役立つコマンドです。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

本記事ではLinuxのfgrepコマンドについて、基礎から応用まで詳しく解説しました。fgrepは固定文字列検索に特化しており、正規表現を使わずに特定の文字列を簡単に探すことができます。
まず、fgrepの基本的な使い方として、単一の文字列検索から複数文字列の同時検索まで紹介しました。例えば、ログファイルから「error」という単語だけを抽出する場合は、次のようにシンプルにコマンドを使えます。

 fgrep "error" sample.log error: failed to start service error: cannot open file config.txt

また、複数の文字列を検索したい場合には、検索したいパターンをファイルにまとめて-fオプションで指定する方法を紹介しました。これにより、膨大なログファイルの中から複数のキーワードを一度に抽出することが可能です。

 fgrep -f patterns.txt sample.log error warning failed

fgrepには便利なオプションもあります。-iで大文字小文字を区別せず検索、-nで行番号を表示、-rでディレクトリ内を再帰的に検索できます。これらを組み合わせることで、日々のログ解析や設定ファイルの確認作業を大幅に効率化できます。

さらに、grepegrepとの違いも明確です。正規表現が不要な単純な文字列検索では、fgrepが最もシンプルでわかりやすく、初心者でも安心して利用できます。
ディレクトリ内の全ファイルを対象に文字列を検索したい場合は-rオプションを使い、サブディレクトリまで含めた検索が可能です。これにより、プログラムのTODOコメントや設定ファイルのホスト名確認など、多岐にわたる作業に活用できます。

 fgrep -r "TODO" ./project ./project/main.c: // TODO: implement function ./project/utils.c: // TODO: add error handling

注意点として、fgrepは固定文字列検索専用のため、正規表現は使えません。複雑なパターン検索を行いたい場合はgrepegrepを使用する必要があります。また、大きなファイルを検索する際には処理に時間がかかることもありますが、シンプルで安全に文字列を見つける目的には最適です。

最後に応用例として、設定ファイルやホストファイルから特定の文字列だけを抽出する方法を紹介しました。fgrepを活用すれば、Linux環境でのテキスト検索が格段に効率化されます。ログ解析、コードレビュー、設定ファイルチェックなど、幅広い用途で活用できるコマンドです。

先生と生徒の振り返り会話

生徒

「先生、fgrepを使うと正規表現なしで文字列を検索できるんですね?」

先生

「その通りです。正規表現の知識がなくても、固定文字列をそのまま探せるので初心者に便利です。」

生徒

「複数の文字列も同時に検索できると聞きましたが、どうやるんですか?」

先生

「複数のキーワードをファイルに書き、fgrep -f ファイル名で指定すると、一度にすべての文字列を検索できます。」

生徒

「ディレクトリ内のすべてのファイルを検索する場合は?」

先生

「その場合は-rオプションを使います。サブディレクトリも含めて一括検索が可能です。」

生徒

「なるほど。ログ解析や設定ファイルの確認にも便利ですね。」

先生

「そうです。fgrepはシンプルで安全な検索方法なので、Linux初心者でも扱いやすく、日常の管理作業に役立ちます。」

カテゴリの一覧へ
新着記事
New1
Linux
Linuxの/proc/meminfoとは?メモリ使用状況を確認する仕組みを初心者向けに徹底解説
新規投稿
New2
情報セキュリティマネジメント試験
RATとは?リモートアクセス型ウイルスの仕組みと対策を初心者向けに解説
更新記事
New3
基本情報技術者試験
ビッグデータとは?初心者でもわかる大量データ活用の基本と活用事例
更新記事
New4
基本情報技術者試験
クライアントとは?初心者でもわかるコンピュータの基本用語をやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
NIC
307
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.2
Java&Spring記事人気No2
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
DHCP
235
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
SMTP
174
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
マイクロ(μ)とは?初心者にもわかる単位の意味と使い方をやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
IMAP
162
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.8
Java&Spring記事人気No8
基本情報技術者試験
ビット(bit)とは?デジタルデータの最小単位をわかりやすく解説