grep POST\|GET /var/log/access.log
linuxにてアクセスログ(/var/log/access.log)からPOSTとGETの件数を集計したかったため、grepを用いてキーワード"POST"と"GET"でor検索がしたい。
結論からいうと、以下コマンドでできました。
linuxでなくWindows上で検索したい場合は、サクラエディタを使えばできます。
grepで複数の単語をor検索する方法
以下grepコマンドを実行する
※3つ以上の複数キーワードでorしたい場合、キーワードのパイプを増やせば可能
grep "POST\|GET" /var/log/access.log
サクラエディタのgrepで複数の単語を検索する場合
Ctrl + Gのgrepにて以下を入力し検索する
POST|GET
詳しい解説
Linuxの場合
linuxのgrepの場合は\で|をエスケープしなければただしくgrepできません。
また、ダブルクオートなしの以下パターンの場合もうまくいきません。
grep POST\|GET /var/log/access.log
grep POST|GET /var/log/access.log
サクラエディタの場合
サクラエディタでもor条件の検索ができます。
Ctrl + Gでgrepウインドウを表示し、「正規表現」にチェックを入れます。
条件に以下を入力します。|の前に\は必要ありませんでした。
POST|GET
3つ以上の複数キーワードでorしたい場合、パイプを増やせば可能です。
grep "POST\|GET\|php" /var/log/access.log