gpt4 book ai didi

bash - 如何在 bash for 循环中使用 tqdm?

转载 作者:行者123 更新时间:2023-12-03 22:32:04 25 4
gpt4 key购买 nike

我有这个 for loop例如需要很长时间才能完成,所以我想使用 tqdm有一个很好的进度条,就像在 python 中一样。但我找不到任何方法来做到这一点?

for f in `find mydir -name *.jpg -print`; do cp $f images/${f//\//_}; done

如何获得此循环的进度条?

最佳答案

这是一个非常古老的问题,但目前 the readme for tqdm 说在 bash 中将它用作命令可以正常工作,例如:

$ seq 9999999 | tqdm --bytes | wc -l
75.2MB [00:00, 217MB/s]
9999999

$ tar -zcf - docs/ | tqdm --bytes --total `du -sb docs/ | cut -f1` \
> backup.tgz
32%|██████████▍ | 8.89G/27.9G [00:42<01:31, 223MB/s]

然而, tqdm显示进度条取决于为其提供信息以从中构建进度条的命令, cp不会(即使 cp -v 也不发送缓冲信息,因此您只会在 cp 完成后才能看到进度条)。

也就是说,如果你想要一个用于复制文件的进度条,你应该喜欢到 rsync --progress pv 命令。

使用 rsync ,解决您的问题的命令可能类似于:

rsync -avzh --progress **/*.jpg images/

关于bash - 如何在 bash for 循环中使用 tqdm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48372970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com