Переименование нескольких файлов с шаблоном даты, используя переименование - PullRequest
0 голосов
/ 19 апреля 2019

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

У меня довольно много файлов, которые я хотел бы переименовать. Есть два очень похожих шаблона для них. Файлы называются так:

xx-xx-xxxx-Protocoll_xx.xx.xxxx.md

или как это:

xx-xx-xxxx-Protocoll xx.xx.xxxx.md

Я бы хотел, чтобы их назвали так:

Protocoll xx.xx.xxxx.md

Я пробовал следующие конфигурации:

rename -v -n 's/....-..-..-Protocoll_(..\...\.....)\.md/Protocoll $1\.md/' *.md
rename -v -n 's/....-..-..-//' *.md
rename -v -n 's/....-..-..-/' '' *.md
rename -v -n 's/....-..-..-Protocoll_(..\...\.....)\.md' 's/Protocoll $1\.md/' *.md
rename -v -n '....-..-..-Protocoll_(..\...\.....)\.md' 'Protocoll $1\.md' *.md

Я всегда получаю один и тот же код ошибки 4. Я использую следующую версию rename: rename from util-linux 2.33.1

1 Ответ

0 голосов
/ 19 апреля 2019

При переименовании сохраняются несопоставимые символы в имени файла.

Таким образом, одно решение может быть:

rename -v -n 's/^.*(Proto)/$1/' *.md

Или лучше преобразовать " " и "_" в " "

rename -v -n 's/^.*(Protocoll)./$1 /' *.md
...