如何计算tar.gz文件中的文件数(不解压缩)?

时间:2014-05-11 14:48:26

标签: parallel-processing gzip tar compression

我有一个tar.gz文件,我是由pigz(并行gzip)制作的。我想计算压缩文件中的文件数而不解压缩。

我使用这个命令:

tar -tzf file.tar.gz

但是我收到了一个错误:

tar: This does not look like a tar archive
tar: Skipping to next header

是因为我使用了pigz而不是gzip吗?如果是的话我怎么能算出它们呢?

提前致谢。

3 个答案:

答案 0 :(得分:12)

由于它是tar和gzip存档,因此您应该使用z选项来使用gzip。然后,您只需使用wc计算行数。

tar -tzf file.tar.gz | wc -l

答案 1 :(得分:0)

我找到了解决方案!

我对这些文件使用了unpigz,并将文件扩展名更改为.tar。之后我可以毫无问题地使用tar -tzf。

谢谢!

答案 2 :(得分:0)

你可以使用tar -vv verbose选项两次以获得完整的详细信息,然后从文件权限中获取第一个字符。 ^表示仅匹配第一个字符(行的开头)。 grep -c选项计算行数。

drwxrwx--x   directory
lrwxrwxrwx   symlink
-rw-rw----   file

仅计算常规文件

gzip -cd file.tar.gz | tar -tvv | grep -c ^-