ハマログ

株式会社イーツー・インフォの社員ブログ

gzやzip圧縮されたファイルの中身をgrepする

apacheのローテーションされたログがgzで保存されているサーバがありまして、いままではlogファイルを展開してgrepしたり、ローカルPCに持ってきて確認したりしていました。
で、そんなことしなくていいんじゃないかと思って調べてみたところ、zgrepというコマンドが便利でした。
$ man zgrep

zgrep – search possibly compressed files for a regular expression
SYNOPSIS
zgrep [ grep_options ] [ -e ] pattern filename…
使ってみます
$ zgrep "nagios" www.e2info.co.jp.ssl.access.log-20180130.gz
111.222.333.444 - - [30/Jan/2018:03:47:16 +0900] "GET /login HTTP/1.1" 200 9760 "-" "check_http/v2.2.1 (nagios-plugins 2.2.1)"
111.222.333.444 - - [30/Jan/2018:03:52:16 +0900] "GET /login HTTP/1.1" 200 9760 "-" "check_http/v2.2.1 (nagios-plugins 2.2.1)"
期待通りの結果が表示されました。

強調表示されなかったのでパイプで
$ zgrep "nagios" www.e2info.co.jp.ssl.access.log-20180130.gz | grep nagios
111.222.333.444 - - [30/Jan/2018:03:47:16 +0900] "GET /login HTTP/1.1" 200 9760 "-" "check_http/v2.2.1 (nagios-plugins 2.2.1)"
111.222.333.444 - - [30/Jan/2018:03:52:16 +0900] "GET /login HTTP/1.1" 200 9760 "-" "check_http/v2.2.1 (nagios-plugins 2.2.1)"
複数のファイルから表示
$ zgrep "nagios" www.e2info.co.jp.ssl.access.log-2018012?.gz | grep nagios
除外
$ zgrep "profile" www.e2info.co.jp.ssl.access.log-2018012?.gz | grep -v "html" | grep -v "css"
※結果からhtmlもしくはcssが含まれる行を除外
まとめ
もっとはやく知っておけばよかった。
grepgzshelltar.gzzip

  kaneko tomo   2018年1月31日


関連記事

Laravel EloquentのソートでNULLを最後に持ってくる(MySQL)

Laravel5系+MySQL5のはなし。 Laravel+Eloquentのプ…

MacにXAMPPいれたらphpMyAdminが起動しませんでしたの巻

こんにちは、ウェブソリューション事業部のかねこです。 桑ちゃんに「MacにもXA…

自動コードフォーマットは悪・・・?

コードを綺麗に保つ為に、普段から意識して書くのはもちろん、ツールを使ってフォーマ…


← 前の投稿

次の投稿 →