使用查找和显示进度来递归文件

时间:2017-09-03 13:24:28

标签: bash macos shell macos-sierra

有人给我这个以递归方式展开文件夹占位符:

exec 7>&1
output="go"
while [ "$output" ]; do
    output=$(find . -name "*.cloudf" -print0 | xargs -0 -n 1 python odrive.py sync | tee /dev/fd/7)
done

.cloudfodrive占位符文件; sync命令将它们扩展到文件夹中,然后这些新文件夹将包含更多需要展开的.cloudf占位符。)

有效。问题是,在运行几次后,它会停止显示其进度。

exec 6>&1tee /dev/fd/6应该是某种显示进度的技巧......但它们只能工作一两次,然后就会停止工作。

我尝试将6更改为7和其他数字,但这并没有帮助。

1 个答案:

答案 0 :(得分:0)

这可行(虽然有一些额外的空白行):

while [[ -n $(find . -name '*.cloudf') ]]; do 
   find . -name "*.cloudf" -print0 | xargs -0 -n 1 -P $p python odrive.py sync; 
done

(借助thisthis