zsh, zmv массовое переименование подкаталогов ничего не происходит на больших объемах каталогов
Я установил
autoload -U zmv
alias mmv='noglob zmv -W'
Когда на примере данных (~20 папок с подпапками) я запускаю
mmv images/**/advert images/**/notice
это просто работает, как и ожидалось. Но если я выполню ту же команду для реальных данных (сотни тысяч папок), ничего не произойдет. Я бегал mmv -n
чтобы получить некоторые сообщения, но без результата. Даже одно имя каталога было изменено, поэтому после того, как я только что закончил процесс.
Является zmv
кеш списка папок в качестве первого шага и чем его заменить имена? Я ожидал что zmv
начнёт менять имена сразу dir by dir.
Должен ли я запустить mvv и просто подождать несколько часов?
1 ответ
zmv
вычисляет все переименования до того, как он начинает действовать, поэтому наблюдаемое вами поведение является нормальным.
Одна из причин этого заключается в том, что произойдет ошибка, если два файла будут переименованы в одно и то же имя. Он также выдает ошибки, если файл должен быть переименован в уже существующее имя, и пытается найти ошибки на ранних этапах, а не прерывать их посередине с помощью трудно определяемого набора файлов, который уже переименован.