【Linux】gzで圧縮されたログからそのままgrepする

やりたいこと

ディスク容量削減のため、ログはgz形式で圧縮されている。

gz形式で圧縮されたログを解凍せず、そのままgrep検索したい。

環境

OS:FreeBSD 9.1

手順

以下のコマンドでgz圧縮されたログをgrepする。

zgrep {検索文字列} {gz形式のファイル} | less

表示例

example.com 1.11.0.11 - - [10/Oct/2019:23:59:40 +0900] "GET hogehoge.jpg HTTP/1.1" 200 5679 "https://example.com/foo.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Mobile/15E14
8 Safari/604.1"
example.com 1.23.4.56 - - [10/Oct/2019:23:59:40 +0900] "GET hogehoge.jpg HTTP/1.1" 200 5679 "https://example.com/foo.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Mobile/15E14
8 Safari/604.1"

コマンド説明

zgrep

gz形式で圧縮されたファイルからgrepを行うコマンド。

環境によってはインストールされていないことがあるので注意。

オプションはgrepと同等のため、ファイル圧縮の有無を気にする必要はない。

コメントを残す

メールアドレスが公開されることはありません。