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