dポイントプレゼントキャンペーン実施中!

タイトルの通り、
UNIXでデータファイルの中身のレコード数を知りたいのですが、
下記条件があります。

1.圧縮されたまま数えたい。
  →解凍するとファイルサイズがかなり大きくなり、
   ディスク容量を圧迫するため。

2.圧縮形式が、「Gzip compressed data」である。

3.ファイル名に拡張子無し。

以上になります。
方法を教えていただきたく。
宜しくお願い致します。

A 回答 (3件)

レコード数とは行数のこととして回答します。

パイプという機能を覚えるといいです。

gzcat ファイル名 | wc -l

もしgzcatコマンドが無いときは、

gzip -dc ファイル名 | wc -l
    • good
    • 1

> UNIXでデータファイルの中身のレコード数を知りたいのですが、



無理です。
あまりにも抽象的/汎用的/幅がありすぎる質問をなさっています。

「データファイル」というのは抽象的な概念です。

「レコード数」も、それだけだと、やはり抽象的な概念です。
汎用的にいえば、データをスキャンしてカウントする必要があります。

ですが、データファイルにはレコード数という概念がマッチしないケースがあります。

--

数年前の出来事です。
メールか何かで添付された?データファイルがあるけど、知らないフォーマットで展開できないので、展開してください。
…などと同僚から依頼されたことがあります。

(1) USBメモリの中身を覗いたところ、見た感じではPGPで暗号化されたデータファイルのようだった。
(2) 必要な情報をもらって復号化したら、DATA19991231PM.ZIPのようなものが展開。
(3) ZIPのデータファイルを展開してみたら、容量不足でパンク。
(4) 中身を同僚に確認したところ、DBをエクスポートしたものでした。

この場合のレコード数であれば、DBにインポートさせてからSQL文を発行したりすれば、カウント出来たはず……。
    • good
    • 0

gunzip -t ファイル名


でいかがでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!