下面是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年,您还有其他最佳选择吗?
谢谢。
答案 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
在管道上运行。我认为不可能同时在多个管道上运行并提供所有管道的摘要。