У меня есть следующие файлы в одном каталоге:
1-1 - different text for each file here.txt
1-2 - different text for each file here.txt
.
.
1-9 - different text for each file here.txt
1-10 - different text for each file here.txt
1-11 - different text for each file here.txt
1-12 - different text for each file here.txt
.
.
Я хочу переименовать файлы сразу (используя zmv запущенный в zsh), чтобы:
1-01 - different text for each file here.txt
1-02 - different text for each file here.txt
.
.
1-09 - different text for each file here.txt
1-10 - different text for each file here.txt
1-11 - different text for each file here.txt
1-12 - different text for each file here.txt
Вот что я попробовал: zmv '1-([0-9])(*)' '1-0$1$2'
Это приводит к следующим именам файлов:
1-01 - different text for each file here.txt
1-02 - different text for each file here.txt
.
.
1-09 - different text for each file here.txt
1-010 - different text for each file here.txt
1-011 - different text for each file here.txt
1-012 - different text for each file here.txt
.
.
Поэтому я решил изменить шаблон поиска на zmv '1-([0-9]{1})(*)' '1-0$1$2' чтобы сопоставлять только файлы с одной цифрой после дефиса, но это не работает (я просто получаю zmv:232: no matches found: 1-([0-9]{1})(*)).
Что я делаю неправильно? Это вообще возможно, используя zmv или я должен использовать что-то вроде sed в цикле for или что-то в этом роде?
