gzipファイルを展開せずに行数指定で中身を確認する方法
はじめに
gzipファイルを展開せずに行数指定して中身を確認したいことがたまにあるのですがやり方を忘れることがあるので残しておきます。 まずは圧縮するファイルを適当に作成します。ファイル名はsample.txtとします。私はWindows 10 のbashで試しています。
圧縮ファイルを作る
まずは圧縮するファイルを適当に作成します。ファイル名はsample.txtとします。
abc def ghi jkl mno
このファイルを以下のコマンドで圧縮します。sample.txt.gz というファイルができました。
gzip sample.txt
中身を見てみる
このファイルの3行目だけを見たい場合は以下のコマンドで確認できます。 ghi と標準出力に表示されると思います。 gzip -dc は zcat で置き換えることができます。(Macだと gzcatコマンド)
gzip -dc sample.txt.gz | sed -n 3p
複数の行を確認したい場合もあるかと思います。例えばファイルの2行目から4行目を見たい場合は以下のコマンドです。 先ほどはsedコマンドで3pとしていた部分を2,4p のように始まりと終わりの行を指定します。
zcat sample.txt.gz | sed -n 2,4p
gzipファイルを展開せずに行数指定で中身を確認する方法は以上になります。
展開せずに中身を見るコマンドとしては他にもzmoreやzlessがありますが、lessでも実は見ることができます。