zsh,zmv 批量重命名子目录,大量目录上没有任何反应

zsh,zmv 批量重命名子目录,大量目录上没有任何反应

我已经设置了

autoload -U zmv
alias mmv='noglob zmv -W'

当样本数据(约 20 个文件夹及其子文件夹)时,我运行

mmv images/**/advert images/**/notice

它只是按预期工作。但如果我对真实数据(数十万个文件夹)运行相同的命令,则不会发生任何事情。我运行了几次mmv -n以获取一些消息,但没有结果。甚至一个目录名称也发生了更改,所以过了一会儿我结束了该过程。

缓存文件夹列表是zmv第一步,然后替换名称吗?我预计zmv会立即开始逐个目录更改名称。

我应该运行 mvv 并等待几个小时吗?

答案1

zmv在开始执行之前计算所有重命名,因此您观察到的行为是正常的。

它这样做的原因之一是,如果两个文件被重命名为同一个名称,它会出错。如果将一个文件重命名为已经存在的名称,它也会出错,并且它会尝试尽早发现错误,而不是在难以确定一组已重命名的文件时中止。

相关内容