Linuxコマンド「grep」でファイル内の文字列を検索する方法についてまとめました。
ファイル内の文字列検索
grepコマンドは、ファイル内の文字列を検索できます。
grep [オプション] '検索文字列' ファイル名
オプション | 説明 |
---|---|
-i | 大文字小文字を区別しない |
-v | 指定した文字列を含まない行のみ表示 |
-n | 行番号を付けて表示 |
-c | 表示した総行数を表示 |
-l | マッチしたファイルのファイル名のみ表示 |
-o | 一致した部分のみ表示(このオプションなしだと行全体を表示 |
-h | ファイル名を表示しない |
-e パターン | パターン(正規表現)を指定(これがない場合は最初のパラメータがパターンになる) |
-r | ディレクトリを再帰的にたどって検索 |
-A 行数 | 一致した行の後も指定した行数を表示 |
-B 行数 | 一致した行の前も指定した行数を表示 |
-C 行数 | 一致した行の前後も指定した行数を表示 |
-E | 拡張正規表現を使用 |
-L | 一致しなかったファイルのファイル名を表示 |
-H | 検索結果の出力にファイル名を付加 |
主なパターン | 意味 | 例 |
---|---|---|
^ | 行先頭の文字列に一致 | ^xyz → xyzで始まる全ての行に一致 |
$ | 行末尾の文字列に一致 | xyz$ → xyzで終わる全ての行に一致 |
. | 1文字に一致 | ^x . . z → xで始まり、任意の2文字、次にzが続く文字を含む行に一致 |
[] | 集合の1つに一致 | [Xx]yz → Xyzもしくはxyzを含む行に一致」 |
[ ^ ] | 集合中にない文字に一致 | [^X-Z]abc → XからZ以外の文字の後ろにabcを含む行に一致 |
* | 直前の文字の0個以上の繰り返しに一致 | ^x*yz → パターンyzの前に0個以上のxを持つ行に一致 |
※参考:【正規表現】指定例と一覧表
実行例
コマンドの実行例です。
grep '$5' file.txt
「file.txt」内の5で終わる行を表示します。

【Linuxコマンド入門】主なコマンドとサンプル集
Linuxコマンドの主な使い方とサンプル集について入門者向けにまとめました。
コメント