• ベストアンサー

ファイルの中のレコード数を知りたい

タイトルの通り、 UNIXでデータファイルの中身のレコード数を知りたいのですが、 下記条件があります。 1.圧縮されたまま数えたい。   →解凍するとファイルサイズがかなり大きくなり、    ディスク容量を圧迫するため。 2.圧縮形式が、「Gzip compressed data」である。 3.ファイル名に拡張子無し。 以上になります。 方法を教えていただきたく。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

レコード数とは行数のこととして回答します。パイプという機能を覚えるといいです。 gzcat ファイル名 | wc -l もしgzcatコマンドが無いときは、 gzip -dc ファイル名 | wc -l

その他の回答 (2)

  • kent85
  • ベストアンサー率52% (38/73)
回答No.3

> UNIXでデータファイルの中身のレコード数を知りたいのですが、 無理です。 あまりにも抽象的/汎用的/幅がありすぎる質問をなさっています。 「データファイル」というのは抽象的な概念です。 「レコード数」も、それだけだと、やはり抽象的な概念です。 汎用的にいえば、データをスキャンしてカウントする必要があります。 ですが、データファイルにはレコード数という概念がマッチしないケースがあります。 -- 数年前の出来事です。 メールか何かで添付された?データファイルがあるけど、知らないフォーマットで展開できないので、展開してください。 …などと同僚から依頼されたことがあります。 (1) USBメモリの中身を覗いたところ、見た感じではPGPで暗号化されたデータファイルのようだった。 (2) 必要な情報をもらって復号化したら、DATA19991231PM.ZIPのようなものが展開。 (3) ZIPのデータファイルを展開してみたら、容量不足でパンク。 (4) 中身を同僚に確認したところ、DBをエクスポートしたものでした。 この場合のレコード数であれば、DBにインポートさせてからSQL文を発行したりすれば、カウント出来たはず……。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.1

gunzip -t ファイル名 でいかがでしょうか。

関連するQ&A