1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

grepの使い方

Posted at

Linux grep コマンド学習ドキュメント

grepコマンドは、テキストデータを検索し、特定のパターンを抽出するための強力なツールです。このドキュメントでは、基本的な使い方から高度なオプションまでを解説します。


基本構文

grep [オプション] パターン ファイル名
  • パターン: 検索する文字列または正規表現。
  • ファイル名: 検索対象のファイル。

よく使うオプション

オプション 説明
-i 大文字小文字を区別しないで検索します。
-v パターンに一致しない行を表示します。
-r / -R ディレクトリを再帰的に検索します。
-n 一致した行番号を表示します。
-c 一致した行数を表示します。
-l パターンが含まれるファイル名を表示します。
--color 一致した部分を色付きで表示します。

使用例

1. 単純な文字列検索

grep "hello" example.txt

example.txtから"hello"を含む行を表示します。

2. 大文字小文字を無視した検索

grep -i "error" logs.txt

logs.txtから"error"または"ERROR"などを検索します。

3. 否定検索

grep -v "debug" output.log

output.logから"debug"を含まない行を表示します。

4. 複数ファイルの検索

grep "function" *.c

現在のディレクトリ内のすべての.cファイルを検索します。

5. 再帰的検索

grep -r "TODO" src/

src/ディレクトリ内のすべてのファイルから"TODO"を検索します。

正規表現の利用

grepは正規表現を使用して柔軟な検索が可能です。

メタ文字一覧

メタ文字 説明
^ 行の先頭に一致します。
$ 行の末尾に一致します。
. 任意の1文字に一致します。
* 直前の文字が0回以上繰り返される部分に一致します。
[] 文字クラスを指定します。例えば[a-z]は小文字のaからzに一致します。
\ メタ文字をエスケープします。

正規表現の例

行の先頭に一致

grep "^start" file.txt

行の先頭が"start"で始まる行を検索します。

行の末尾に一致

grep "end$" file.txt

行の末尾が"end"で終わる行を検索します。

任意の文字を検索

grep "h.t" file.txt

"h"と"t"の間に任意の1文字がある行を検索します(例: "hat", "hot")。


応用例

出力結果を別のコマンドに渡す

grep "error" logs.txt | sort | uniq

logs.txtから"error"を検索し、結果をソートして重複を除去します。

ファイルに結果を保存

grep "pattern" file.txt > result.txt

検索結果をresult.txtに保存します。


まとめ

grepは日常的な作業から高度なテキスト処理まで幅広く使用できます。正規表現や他のツールと組み合わせることでさらに強力なツールとなります。まずは基本的な使い方をマスターし、必要に応じてオプションや正規表現を活用してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?