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