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