grep でAND検索とOR検索をする方法

grepで複数の文字列を検索する方法(OR検索)

grepで複数の文字列を検索する場合ですが、「-e 検索する文字列」とすればOR検索ができます

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

【実行例】

$ cat test
Shiga
Kyoto
Osaka
Hyogo
Nara
Wakayama

$ grep -e Kyoto -e Osaka test
Kyoto
Osaka
$ grep -e Kyoto -e Tokyo test
Kyoto

egrepで複数の文字列を検索する方法(OR検索)

こちらですが、egrepでも同じく文字列を検索するOR検索ができます

書式:egrep “【検索する文字列】|【検索する文字列】"  【ファイル名】

【実行例】

$ cat test
Shiga
Kyoto
Osaka
Hyogo
Nara
Wakayama

$ egrep "Kyoto|Nara" test
Kyoto
Nara

grepで複数の文字列を絞り込んで検索する方法(AND検索)

grepで複数の文字列を絞り込んでいく形で検索(AND検索)する場合は、オプションなどはなく【grep】をパイプ【|】で繋いで絞り込んでいきます

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

【実行例】

# ファイルの検索じゃないですが、ps コマンドで rootで起動しいるhttpdを表示しています
$ ps -ef | grep httpd | grep root
root     14924     1  0  6月01 ?      00:05:56 /usr/sbin/httpd -DFOREGROUND

スポンサーリンク