やりたいこと
ディスク容量削減のため、ログは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と同等のため、ファイル圧縮の有無を気にする必要はない。