gzファイルを解凍せずに調べる

中身を見るだけじゃなくて、いろいろ調べる

中身を見る

  • ファイルが小さいとき
# zcat test.gz
  • ファイルが大きいとき
# gzip -dc access_log.1.gz | less

参考
http://open-groove.net/linux/gzcat-and-gzip-dc/

ファイルサイズと、解凍後のファイルサイズを調べる

lオプションを使う

# gzip -l test.gz

         compressed        uncompressed  ratio uncompressed_name
                260                 426  47.7% index

このとき、解凍後のファイルが4GBを超えていると表示バグが発生して、
圧縮率がマイナスになるので注意。
そのような場合は、時間がかかるが下のようにすると解凍後のファイルサイズが表示される。
他に良い方法あるかなぁ。

# gzip -dc test.gz | wc -c

ファイルのレコード数を調べる

# zcat -f test.gz | wc -l

全gzファイルを一気に調べたかったので、以下の様なスクリプトを使った

#! /bin/bash
for F in *.gz;
do
  echo "$(zcat -f <"$F" | wc -l) $F"
done

参考
Linux Command Repository --逆引きオンラインコマンドリファレンス--