本文介绍了并行焦油与分裂的大文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的有庞大的文件夹,我想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[@]##*/}"

这篇关于并行焦油与分裂的大文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-30 15:33