(Linux) grepコマンドの使い方【よく使うオプション一覧も】

linux-grep

 

文字列を検索するgrepコマンドの使い方を調べたので、メモ。

 

grepコマンドとは

grep-image

grepコマンドとは、指定した文字列を、ファイル内から検索するコマンド。
ディレクトリ内の全てのファイルに対して再帰的に検索も可能。
文字列を元に何か調査したい場合などによく使う。

grepの基本的な使い方

ではgrepの基本的な使い方についてメモしていく。

 

grepの書式

書式は下記

grep [オプション] 検索文字列 検索対象

 

下記のような記述のファイル(grep-file0.txt)を例に、
各オプション毎の使い方を説明していく。

 

オプションなしの挙動を確認

happyという文字列を、grep-file0.txtから検索する。

grep happy grep-file0.txt

実行結果
grep-normal

happyという文字列を含んでいたので、
合致したhappyという文字列がコンソールに出力された。

これだけだと文字列を含んでいることはわかるが、あまり実用性がない。
そこで、オプションをつけることでより柔軟に検索を行うことができる。

 

オプション含めた使い方一覧

オプションなしの時と同じファイル(grep-file0.txt)を例に説明する

 

-n 行数を表示する

-nオプションをつけると、文字列が見つかった行数も表示してくれる

grep -n happy grep-file0.txt

実行結果
grep-n

二行目に見つかったことがわかる。

 

-i 大文字小文字を区別しない

-iオプションをつけると、大文字小文字の区別なく検索してくれる

grep -i happy grep-file0.txt

実行結果
grep-i

大文字で始まるHappyも検索されている。

 

-c マッチした行数をカウントする

-cオプションをつけると、文字列にマッチした行数をカウントしてくれる

grep -c happy grep-file0.txt

実行結果
grep-c

マッチしたのが一行だったことがわかる。

 

-v マッチしない行を表示する

-vオプションをつけると、文字列にマッチしない行を表示する

grep -v happy grep-file0.txt

実行結果
grep-v

happyにマッチしなかった行が出力された。

 

ディレクトリを再帰的にgrepする時に使うオプション

一つのファイルから文字列を検索するのではなく、
ディレクトリ以下を再帰的にgrepすることで、
複数のファイルに対して一気にgrepすることが可能。

調査などでは、まず文字列がどのファイルに含まれているか分からない場合が多いので、
ファイルを指定するのではなく、ディレクトリ以下を再帰的にgrepする場合が多い

以下のようなディレクトリとファイル構成を元に説明。

grep-file0.txtの記述内容

grep-file1.txtの記述内容

grep-file2.txtの記述内容

 

-r 再帰的に検索する

再帰的に検索するオプション。
検索対象にディレクトリを指定することで、
ディレクトリ以下のファイルに対して、再帰的にgrepを実行する

grep -r happy .

 

実行結果
grep-r

 

全てのファイルにはhappyという文字列が含まれているため、
再帰的にgrepした結果、全てのファイルから文字列が検索された。

 

その他、オプション

上記以外でも使いえそうなオプションを下記にまとめた。

 

-h マッチしたファイル名を表示しない

マッチしたファイル名を表示しないオプション。

 

-l マッチした場合ファイル名だけを表示する

マッチしたファイル名だけを表示するオプション。

 

-E 拡張正規表現を使用する

文字列の検索パターンに、拡張性機表現を使用する。

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。