【Linux】grepコマンドで複数条件(AND・OR)で検索する


この記事はプロモーションを含みます。

Linux

Linux環境にて、grepコマンドで「AND検索」や「OR検索」などの複数条件で検索する方法を解説します。

AND検索

grepコマンドで、AND検索する方法を説明します。
ここでは例として、下記のようなファイルを対象に検索してみます。

あいうえお
かきくけこ
さしすせそ

grepコマンドのみで検索する

grepコマンドのみを使用して検索する方法です。
使用するコマンドとしては、grepコマンドのみですが、AND検索する場合は、grepコマンドで検索した後、パイプでさらにgrepコマンドを実行する必要があります。

書式
grep 検索文字列 ファイル名 | grep 検索文字列

実行例です。

[root@STKPUB002 data]# grep "あい" file.txt | grep "えお"
あいうえお

パイプを使用して他コマンドと合わせて検索する

パイプを使用し、他コマンドと組み合わせて検索する方法です。
ここでは、catコマンドと組み合わせた例を記載しています。

書式
cat file.txt | grep "あい" | grep "えお"

実行例です。

[root@STKPUB002 data]# cat file4.txt | grep "あい" | grep "えお"
あいうえお

ワイルドカードを使用して検索する

ワイルドカードを使用して検索する方法です。
ここでは、拡張子が「log」となっているファイルを検索する例を記載しています。

書式
grep 検索文字列 ワイルドカードを含むファイル名 | grep 検索文字列

実行例です。複数のファイルが検索対象となる場合は、結果の先頭にファイル名が表示されます。

[root@STKPUB002 data]# grep "あい" *.log | grep "えお"
file1.log:あいうえお
file2.log:あいうえお

OR検索

grepコマンドで、OR検索する方法を説明します。
ここでは例として、下記のようなファイルを対象に検索してみます。

あいうえお
かきくけこ
さしすせそ

grepコマンドのみで検索する

grepコマンドのみを使用して検索する方法です。

書式
grep -e 検索文字列 -e 検索文字列 ファイル名

実行例です。

[root@STKPUB002 data]# grep -e "あいうえお" -e "かきく" file.txt
あいうえお
かきくけこ

パイプを使用して他コマンドと合わせて検索する

パイプを使用し、他コマンドと組み合わせて検索する方法です。
ここでは、catコマンドと組み合わせた例を記載しています。

書式
cat ファイル名 | grep -e 検索文字列 -e 検索文字列

実行例です。

[root@STKPUB002 data]# cat file.txt | grep -e "あいうえお" -e "かきく"
あいうえお
かきくけこ

ワイルドカードを使用して検索する

ワイルドカードを使用して検索する方法です。
ここでは、拡張子が「log」となっているファイルを検索する例を記載しています。

書式
grep -e 検索文字列 -e 検索文字列 ワイルドカードを含むファイル名

実行例です。複数のファイルが検索対象となる場合は、結果の先頭にファイル名が表示されます。

[root@STKPUB002 data]# grep -e "あいうえお" -e "かきく" *.log
file1.log:あいうえお
file1.log:かきくけこ
file2.log:あいうえお
file2.log:かきくけこ

コメント

タイトルとURLをコピーしました