zsh, zmv renomear subdiretórios em massa, nada acontecendo em um grande volume de diretórios

zsh, zmv renomear subdiretórios em massa, nada acontecendo em um grande volume de diretórios

eu configurei

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

Quando em dados de amostra (cerca de 20 pastas com subpastas), executo

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

simplesmente funciona como esperado. Mas se eu executar o mesmo comando em dados reais (centenas de milhares de pastas), nada acontece. Corri mmv -npara receber algumas mensagens, mas sem resultado. Até mesmo um nome de diretório foi alterado depois de terminar o processo.

A lista de pastas de cache é zmvo primeiro passo e depois substitui os nomes? Eu esperava que isso zmvcomeçasse a mudar os nomes imediatamente, dir por dir.

Devo executar o mvv e esperar algumas horas?

Responder1

zmvcalcula todas as renomeações antes de começar a agir, portanto o comportamento que você observou é normal.

Uma das razões pelas quais isso acontece é que ocorrerá um erro se dois arquivos forem renomeados com o mesmo nome. Ele também gera erros se um arquivo for renomeado para um nome que já existe e tenta descobrir os erros logo no início, em vez de abortar no meio com um conjunto difícil de determinar de arquivos já renomeados.

informação relacionada