如何使用gzip将许多小文件有效地压缩为许多.tar.gz小文件?

时间:2019-05-04 04:13:50

标签: python linux shell gzip tar

我有数百万个* .csv小文件,我想用gzip压缩它们。

可以通过循环用gzip压缩每个压缩文件,但是效率不够。

我想知道是否有一种有效的方法?通过多处理或其他方式?

1 个答案:

答案 0 :(得分:3)

按照zstd使用Charles Duffy's comment

cd csvdir  # go to where the million .csv files are
zstd --train `find . -name '*.csv' | shuf -n 100`
mv dictionary csv.dict
zstd -T$(nproc) -9 -D csv.dict -o csvfiles.zstd *.csv

这从一百个 .csv 文件的随机样本中创建了一个字典,然后使用所有CPU内核将数百万个文件有效地压缩为 csvfiles.zstd 。 / p>