我正在尝试阅读压缩文件。我正在使用命令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'
但是我发现他们在执行文件读取内容的时间方面没有太大的区别。
有没有人知道如何在最短的时间内处理压缩文件的大量数据。任何帮助将不胜感激!!!
答案 0 :(得分:1)
正如rrauenza
提到的那样,由于pigz
可能不适用于xz
格式,因此对于并行的索引xz压缩/解压缩,有一个类似的工具pixz
。
man
page的显然Pigz
压缩/解压缩使用线程来使用多个处理器和核心。
与pigz
类似,此命令还提供了一个选项,用于指定可在多个内核中并行调用的线程数,以实现最佳性能。
-p --processes n
Allow up to n processes (default is the number of online processors)
或者您可以从bash命令getconf _NPROCESSORS_ONLN
手动获取核心数,并将值设置为-p
。
来自pixz
的GitHub
页面的更多详细信息以及有关如何下载和安装的详细信息
(或)
只使用tar
解决方案,只有先前已知文件名
tar -zxOf <file-name_inside-tar> <file-containing-tar>
选项如下: -
-f, --file=ARCHIVE
use archive file or device ARCHIV
-z, --gzip
filter the archive through gzip
-x, --extract, --get
extract files from an archive
-O, --to-stdout
extract files to standard output
可能不如pigz
有效,但仍然可以胜任。