web-dev-qa-db-ja.com

解凍せずに.gz圧縮ファイルから数行を取得する方法

Gzipされたファイルから最初の数行を取得する方法は?私はzcatを試しましたが、エラーがスローされます

zcat CONN.20111109.0057.gz|head
CONN.20111109.0057.gz.Z: A file or directory in the path name does not exist.
80
Govind Kailas

zcat(1)は、compress(1)またはgzip(1)によって提供されます。システム上では、compress(1)のように見えます-.Z拡張子のファイルを探しています。

zcatの代わりにgzip -cdに切り替えると、コマンドは正常に機能するはずです。

 gzip -cd CONN.20111109.0057.gz | head
131
sarnold

一部のシステム(Macなど)では、gzcatを使用する必要があります。

12
Marcelo Cantos

Macでは、zcatで<を使用する必要があります。

zcat < CONN.20111109.0057.gz|head

9
punkrockpolly

連続した行範囲が必要な場合、1つのオプションは次のようになります:

gunzip -c file.gz | sed -n '5,10p;11q' > subFile

ここで、file.gzの5行目と10行目(両方を含む)の行は、新しいsubFileに抽出されます。 sedオプションについては、 マニュアル を参照してください。

ごとに、たとえば、5行目が必要な場合:

gunzip -c file.gz | sed -n '1~5p;6q' > subFile

1行目を抽出し、4行を飛び越えて5行目を選択します。

2
KutalmisB