ホーム > テキスト処理・検索 > fgrep

fgrep: 固定文字列検索

fgrepは、正規表現ではなく固定文字列パターンをファイル内で検索するコマンドです。grep -Fと同じであり、正規表現の解析オーバーヘッドがないため、リテラル文字列検索ではgrepよりも高速になる可能性があります。

概要

fgrepは、指定されたファイルまたは標準入力から固定文字列を検索し、該当する行を出力します。正規表現のメタ文字を通常の文字として扱うため、特殊文字が含まれる文字列を正確に検索する場合に便利です。

主な特徴

  • 正規表現をサポートしない(固定文字列のみ検索)
  • grep -Fと機能的に同一
  • 特殊文字のエスケープが不要
  • リテラル文字列検索時のパフォーマンス優位

主なオプション

fgrepはgrepと多くのオプションを共有しますが、正規表現関連のオプションは適用されません。

検索条件

出力形式

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`fgrep` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

fgrepを活用した様々な検索例です。

基本文字列検索

fgrep "error message" log.txt

log.txtファイルから「error message」という文字列を検索します。

大文字小文字を区別せずに検索

fgrep -i "warning" report.log

report.logファイルから「warning」という文字列を大文字小文字を区別せずに検索します。

一致しない行を出力

fgrep -v "success" access.log

access.logファイルから「success」という文字列が含まれていない行を出力します。

サブディレクトリを再帰的に検索し、ファイル名のみ出力

fgrep -rl "TODO" .

現在のディレクトリとサブディレクトリから「TODO」という文字列が含まれるファイルのファイル名を出力します。

単語単位で検索

fgrep -w "fail" status.txt

status.txtファイルから「fail」という単語全体が含まれる行を検索します。

行番号と共に検索

fgrep -n "config" setup.ini

setup.iniファイルから「config」という文字列を検索し、一致した行の番号も共に出力します。

ヒントと注意点

fgrepは特定の状況でgrepよりも効率的になることがあります。

fgrep活用ヒント

  • パフォーマンス: 正規表現の解析オーバーヘッドがないため、リテラル文字列検索ではgrep -Fと共に最も高速です。
  • 特殊文字: 正規表現のメタ文字(例: ., *, ?, ^, $, [, ])を通常の文字として扱うため、エスケープせずにそのまま検索できます。
  • grep -F: fgrepは機能的にgrep -Fと同一です。多くのシステムでは、fgrepはgrep -Fのシンボリックリンクです。したがって、どちらのコマンドを使用しても問題ありません。

同じカテゴリのコマンド