$ touch mickey\ mouse01 mickey\ mouse02 mickey\ mouse03
$ ls
'mickey mouse01' 'mickey mouse02' 'mickey mouse03'
$ rename mickey\ mouse mickey_mouse mickey\ mouse*
$ ls
mickey_mouse01 mickey_mouse02 mickey_mouse03
Я пытаюсь использовать функцию переименования, поставляемую как часть cygwin, unix-utils (22 марта 2015 г.), и она не работает так, как было объявлено.
Все примеры, которые я видел, указывают на синтаксис:
rename 's/old pattern/new pattern' *.txt
Это должно заменить ВСЕ вхождения имен файлов, содержащих старый шаблон, новым именем, используя новый шаблон, но вместо этого ничего не делает. В прямом смысле. Нет синтаксической ошибки. Нет предупреждения Я ввожу команду; команда выполнена; и подсказка появляется снова, но ничего не произошло. Я заменяю тире пробелами, поэтому я подумал, что мне может понадобиться использовать escape-символ, но это не дало никакого эффекта.
Этот код работает, но только для ОДНОГО появления шаблона:
rename "old pattern" "new pattern" *.txt
Я использую последнюю версию переименования? Есть ли другая команда, которую я могу использовать? Я переименовываю файлы, используя «-» вместо пробелов, поэтому необходимость переименовывать в цикл просто, чтобы избавиться от 1 до 10 черточек в сотнях файлов, на самом деле очень и очень плохо.
Как всегда, ваша помощь будет принята с благодарностью.
Тони
$ touch mickey\ mouse01 mickey\ mouse02 mickey\ mouse03
$ ls
'mickey mouse01' 'mickey mouse02' 'mickey mouse03'
$ rename mickey\ mouse mickey_mouse mickey\ mouse*
$ ls
mickey_mouse01 mickey_mouse02 mickey_mouse03