zsh, zmv массовое переименование подкаталогов ничего не происходит при большом объеме каталогов

zsh, zmv массовое переименование подкаталогов ничего не происходит при большом объеме каталогов

Я установил

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

При работе с образцами данных (~20 папок с подпапками) я запускаю

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

он просто работает как и ожидалось. Но если я запускаю ту же команду на реальных данных (сотни тысяч папок), ничего не происходит. Я запустил, mmv -nчтобы получить некоторые сообщения, но никакого результата. Даже одно имя каталога было изменено, поэтому после того, как я некоторое время просто завершил процесс.

Является ли zmvсписок папок кэша первым шагом, а затем он заменит имена? Я ожидал, что zmvначнется немедленное изменение имен dir за dir.

Стоит ли мне запустить mvv и просто подождать несколько часов?

решение1

zmvвычисляет все переименования, прежде чем начать действовать, поэтому наблюдаемое вами поведение является нормальным.

Одна из причин, по которой он это делает, заключается в том, что он выдаст ошибку, если два файла будут переименованы в одно и то же имя. Он также выдаст ошибку, если файл будет переименован в имя, которое уже существует, и он пытается обнаружить ошибки на ранней стадии, а не прерываться на середине с трудно определяемым набором уже переименованных файлов.

Связанный контент