Я думаю, что Вы действительно хотите, что-то вроде этого:
% zmv '(**/)(*).erb' '$1/$2.haml'
# ^$1 ^$2
Необходимо использовать круглую скобку для создания групп соответствия, и Вы создаете группу соответствия для пути к файлу и затем группу соответствия для имени файла. Кроме того, необходимо удостовериться, что второй аргумент находится также в одинарных кавычках для zmv.
Кроме того, это - действительно хорошая идея протестировать команды zmv с '-n' перед выполнением их (-n, скажет Вам, что будет переименовано, но не на самом деле переименует что-либо.)
Плавание означает 'немозаичные', спиральные окна мест в спиральной форме, и столбец размещает их рядом вертикально.
PS: ответьте главным образом взятый из комментария Кента.