本文介绍了并行焦油与分裂的大文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我真的有庞大的文件夹,我想gzip和分裂他们的存档:
I am have really huge folder I would like to gzip and split them for archive:
#!/bin/bash
dir=$1
name=$2
size=32000m
tar -czf /dev/stdout ${dir} | split -a 5 -d -b $size - ${name}
有没有办法用GNU平行加快呢?
谢谢。
Are there way to speed up this with gnu parallel?thanks.
推荐答案
这似乎并行gzip的COM pression最好的工具是的。请参阅的。
It seems the best tool for parallel gzip compression is pigz. See the comparisons.
有了它,你可以有这样的命令:
With it you can have a command like this:
tar -c "${dir}" | pigz -c | split -a 5 -d -b "${size}" - "${name}"
通过自己的选择 -p
你也可以指定要使用的线程数的(默认为网络处理器的数量,或8如有不明)。参见 pigz --help
或男人pigz
了解更多信息。
With its option -p
you could also specify the number of threads to use (default is the number of online processors, or 8 if unknown). See pigz --help
or man pigz
for more info.
更新
使用GNU平行,你可以做一些这样的:
Using GNU parallel you could do something this:
contents=("$dir"/*)
outdir=/somewhere
parallel tar -cvpzf "${outdir}/{}.tar.gz" "$dir/{}" ::: "${contents[@]##*/}"
这篇关于并行焦油与分裂的大文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!