Переименовать файл на основе соответствия имени регулярного выражения - PullRequest
0 голосов
/ 13 мая 2018

Я использовал hazel, чтобы автоматически переименовывать файлы и перемещать их в папки - однако - это заняло неверную дату.Я исправил дату в файле с помощью сценария оболочки и инструментов exif, но теперь необходимо снова переименовать файлы.

Файлы могут быть нескольких типов, например

2014-10-29 - _DSF5234.JPG
2014-10-29 - _DSF5234.DNG
2014-10-29 - _DSF5234.PSD

, и мне нужно удалить"2014-10-29 - " часть имени файла каждого файла.В идеале это будет скрипт, который обрабатывает один файл напрямую, а я встраиваю его в действие фундука.

Нашел это регулярное выражение ([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))

Может кто-нибудь дать мне подсказку?

1 Ответ

0 голосов
/ 13 мая 2018

Вы можете взять заданное вами регулярное выражение, изменить группы захвата на группы без захвата, добавив ?: после открывающей скобки, добавив - для соответствия другим символам, которые вы хотите вернуть / удалить, затем добавивположительный взгляд на оставшуюся часть имени файла.

^([12]\d{3}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01]) - )(?=.+\.\w+$)

https://regex101.com/r/N5XweP/1

...