从tar.gz文件中的文件中查看几行

时间:2014-08-28 15:56:28

标签: bash view command-line gzip tar

我有一个非常大的.tar文件,其中包含几个.gz文件。我想在任何单个文件中查看几行而不进行解除。我可以使用以下方式查看文件:

tar -tzf TarFile # doesn't actually end in .tar

我明白了:

TarFile/
FileA.gz
FileB.gz
FileC.gz
FileD.gz

我想查看任何单个文件中的几行。通常我会使用:

zless MyFile

有没有办法合并这两个命令,以便我可以从任何单个文件中查看几行?

1 个答案:

答案 0 :(得分:1)

tar -xOf TarFile FileB.gz | zless

说明:

tar

-x

-O提取到标准输出

-f Tarfile

FileB.gz tar档案中的文件提取

| zless将提取的文件数据传输到zless

多次执行此操作会很昂贵,因为每次运行命令时都需要tar来扫描存档。如果tar存档很大(并且您想要的文件在tarball的早期),那么在命令行上使用--occurrence=1可以使tar在找到匹配的文件时立即停止处理tar文件你告诉它提取的文件。