【发布时间】:2016-06-20 06:11:29
【问题描述】:
我正在尝试读取压缩文件。我正在使用命令tar tf abc.tar.xz 执行此操作。因为文件的大小是1TB所以需要很多时间。我对 bash 脚本不太熟悉。我还有其他命令,例如 zcat 3532642.tar.gz | more 和 tar tf 3532642.tar.xz |grep --regex="folder1/folder2/folder3/folder4/" 和
tar tvf 3532642.tar.xz --to-command \
'grep --label="$TAR_FILENAME" -H folder1/folder2/folder3/folder4/ ; true'
但在执行文件以读取其内容所需的时间方面,我发现它们之间没有太大区别。
有谁知道我怎样才能在最短的时间内为压缩文件处理如此大量的数据。任何帮助将不胜感激!!!
【问题讨论】:
-
你不会加快解压速度,你可以在之后加快你在流上所做的事情。请清楚地表明您对解压缩的流做了什么。
-
我想读取压缩文件的内容而不实际解压缩它,并希望对 1TB 文件执行此操作。你能告诉我如何在最短的时间内完成吗?
-
解压不会有时差,最容易使用的是
zcat。 -
您可以尝试
pigz进行解压缩(它是多线程的),但我怀疑如果您观看top,您的tar命令将处于100% cpu 并且将成为瓶颈. -
我不会承诺“最佳”,但它可能比 zcat 更快——等等,你的文件是
xz而不是gz。pigz不起作用。见askubuntu.com/questions/258202/multi-core-compression-tools