带PV进度条的多核gzip

时间:2018-08-26 09:50:57

标签: bash gzip xargs pv

下面是2010年的问题Gzip with all cores,我想使用多核gzip文件,并使用pv工具指示进度条。

如何改进此代码?

CORES=$(grep -c '^processor' /proc/cpuinfo)
find /source -type f -print0 | xargs -0 -n 1 -P $CORES gzip -9

我想显示剩余时间并显示进度条并行运行。

截至2018年,您还有其他最佳选择吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

使用具有进度条或eta GNU Parallel

find ... -print0 | parallel -0 --progress gzip -9 {}

find ... -print0 | parallel -0 --eta ...

find ... -print0 | parallel -0 --bar ...

答案 1 :(得分:0)

您实际上并没有在多个内核上运行gzip,而是在运行多个gzip。

pv在管道上运行。我认为不可能同时在多个管道上运行并提供所有管道的摘要。