Я пытаюсь использовать функцию переименования, поставляемую как часть cygwin, unix-utils (22 марта 2015 г.), и она не работает так, как было объявлено.

Все примеры, которые я видел, указывают на синтаксис:

rename 's/old pattern/new pattern' *.txt

Это должно заменить ВСЕ вхождения имен файлов, содержащих старый шаблон, новым именем, используя новый шаблон, но вместо этого ничего не делает. В прямом смысле. Нет синтаксической ошибки. Нет предупреждения Я ввожу команду; команда выполнена; и подсказка появляется снова, но ничего не произошло. Я заменяю тире пробелами, поэтому я подумал, что мне может понадобиться использовать escape-символ, но это не дало никакого эффекта.

Этот код работает, но только для ОДНОГО появления шаблона:

rename "old pattern" "new pattern" *.txt

Я использую последнюю версию переименования? Есть ли другая команда, которую я могу использовать? Я переименовываю файлы, используя «-» вместо пробелов, поэтому необходимость переименовывать в цикл просто, чтобы избавиться от 1 до 10 черточек в сотнях файлов, на самом деле очень и очень плохо.

Как всегда, ваша помощь будет принята с благодарностью.

Тони

1 ответ1

0

$ 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .