圧縮ファイルをcat、grepする方法
Pocket

LinuxやUNIXを使っていれば、ログを見る際にgrepを行う事が多いだろう。
ログの場合、容量の関係からテキストファイルではなく、tarやzipで圧縮したファイルを読む対応が必要になる事がある。

今回は、そんな時に使える、圧縮ファイルを直接grepする方法について記述する。

1.gzの場合

.gzファイルをcatする場合、zcatコマンドを用いる。

# zcat 参照したいgzファイル

.gzファイルにgrepする場合は、grepコマンドにオプションを付与するのではなく、zgrepコマンドを用いる。

# zgrep 検索したい文字列 検索したいgzファイル

20141228_000000

Sponsored Links

2.tar.gzの場合

.tar.gzファイルをcatする場合、zcatコマンドを用いるか、もしくはtarコマンドを用いて参照する方法がある。

# zcat 参照したいtar.gzファイル
# tar -O -xzvf 参照したい.tar.gzファイル

.tar.gzファイルをgrepする場合、一度tarコマンドで参照を行い、その結果をgrepすることで確認出来る。

# tar -O -xzvf 検索したい.tar.gzファイル | grep 検索したい文字列

20141228_000001

3.zipの場合

.zipファイルをcatする場合、zcatコマンドを用いる。

# zcat 参照したいzipファイル

.zipファイルをgrepする場合、zgrepコマンドを用いる。

# zgrep 検索したい文字列 検索したいzipファイル

20141228_000002

結論

圧縮ファイルを参照する場合は、zcat一つでどうにかなるようだ。
grepの時だけ、tar.gzの場合はzgrepでgrepすることが出来ないようだ。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: grepコマンドで覚えておきたい使い方14個(+3個) | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

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