我有数百万个* .csv小文件,我想用gzip压缩它们。
可以通过循环用gzip压缩每个压缩文件,但是效率不够。
我想知道是否有一种有效的方法?通过多处理或其他方式?
答案 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>