我有一个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吗?如果是的话我怎么能算出它们呢?
提前致谢。
答案 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 ^-