gzip ファイルから最初の数行を取得する方法は? zcatを試しましたが、エラーがスローされました
zcat CONN.20111109.0057.gz|head
CONN.20111109.0057.gz.Z: A file or directory in the path name does not exist.
zcat(1)
compress(1)
またはのいずれかで指定できますgzip(1)
。あなたのシステムでは、拡張子compress(1)
の付いたファイルを探しているようです.Z
。
gzip -cd
代わりにに切り替えるzcat
と、コマンドが正常に機能するはずです。
gzip -cd CONN.20111109.0057.gz | head
説明
-c --stdout --to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing
them.
-d --decompress --uncompress
Decompress.
<
Mac では、zcatを使用する必要があります。
zcat < CONN.20111109.0057.gz|head
を使用する場合zcat
、これは最初の 10 行を表示します
zcat your_filename.gz | head
16番目の最初の行が必要だとしましょう
zcat your_filename.gz | head -n 16
この awk スニペットを使用すると、最初の数行だけでなく、指定できる範囲も表示できます。また、gzip ファイル内の特定の行を指すエラー メッセージをデバッグするために必要な行番号も追加します。
gunzip -c file.gz | awk -v from=10 -v to=20 'NR>=from { print NR,$0; if (NR>=to) exit 1}'
上記のワンライナーで使用されている awk スニペットを次に示します。awk では、NR は組み込み変数 (これまでに見つかったレコードの数) であり、通常は行番号に相当します。from 変数と to 変数は、-v オプションを介してコマンド ラインから取得されます。
NR>=from {
print NR,$0;
if (NR>=to)
exit 1
}