grepコマンドで複数条件を指定する方法

永井
2022-12-19
2024-10-23

はじめに

ログの調査などをしているとき、複数の文字列を指定したい場合があるかと思います。
本記事ではgrepコマンドでの複数条件とegrepコマンドについて説明したいと思います。

今回は下記のようなテキストファイルを使って説明していきます。

test.txt
--------------
hoge 1 aaa bbb
fuga 2 ccc ddd
piyo 3 eee fff
--------------

grepコマンドとは

テキストファイルから指定した文字列を検索する際に利用されるLinuxコマンドです。

① grepコマンドを使用する方法

grepコマンドでは、「e」オプションで複数の条件を入れることができます。
テキストファイルの「hoge」と「fuga」の2つの条件でgrepしたい場合は以下のようになります。

$ grep -e "hoge" -e "fuga" test.txt

hoge 1 aaa bbb
fuga 2 ccc ddd

コマンドの形としては以下のようになります。
grep -e "条件1" -e "条件2" ....

② egrepコマンドを使用する方法

egrepコマンドを使用しても上記と同じようにできますが、grepコマンドの時と少し書き方が変わります。
まず、下記の例をご覧ください。

$ egrep "hoge|fuga" test.txt

hoge 1 aaa bbb
fuga 2 ccc ddd

コマンドの形としては以下のようになります。
egrep "条件1|条件2...."

条件の間はパイプ「|」を使用し区切ります。

おわりに

grepコマンドはログ調査などを行う上で必要不可欠です。
そのため、ちょっとした小技程度に覚えておくと何かの役に立つかもしれません。
ここまで読んでいただきありがとうございます。