Команда переименования не перезаписывается, как это должно быть по умолчанию, как принудительно перезаписать? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть скрипт bash, который использует команду переименования следующим образом:

sudo rename 's/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/Date-$1-$2-$3__Time-$4:$5:$6/' 2019*

В соответствии с man-страницей переименования команда должна перезаписывать по умолчанию, а не перезаписывать с помощью флага -o.Но когда я запускаю скрипт, он не перезаписывает существующие файлы.Однако я получаю сообщение об ошибке, и дубликаты файлов не обрабатываются скриптом.

Переименование файлов

20190710220231.WAV не переименован: Дата-2019-07-10__Время-22: 02: 31.WAV уже существует: 03: 38.WAV уже существуетно выдает мне другую ошибку:

mv: target '20190710222433.WAV' не является каталогом

Поэтому я добавил / и получаю ту же ошибку.Любой совет?

1 Ответ

1 голос
/ 11 июля 2019

вы можете использовать опцию -f, чтобы принудительно перезаписать существующие файлы:

rename -f ...

man rename:

-f, --force
               Over write: allow existing files to be over-written.
...