Cygwin unix-utils версия переименования не работает должным образом

244
C0ppert0p

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

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

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

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

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

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

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

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

Тони

0
`rename --version` и` man rename` должны дать вам хорошую информацию. pak 8 лет назад 0

1 ответ на вопрос

0
matzeri

$ 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

Гаххк ... Это, конечно, работает сейчас. Я должен ослепнуть ... C0ppert0p 8 лет назад 0

Похожие вопросы