Быстрое регулярное выражение, чтобы соответствовать paterrn и заменить его на null / empty - PullRequest
0 голосов
/ 14 июня 2011

У меня есть папка с огромным количеством файлов, и мне нужно их переименовать.Я использую утилиту массового / пакетного переименования: http://www.bulkrenameutility.co.uk/Download.php

Это позволяет для поиска и замены паттернов RegEx.

Вот несколько примеров имен файлов:

  • ...
  • 04-067 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15м34 с) .avi
  • 04-068 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-069 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-070 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-071 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-072 - имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-073 -Имя нужного мне файла (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • ...

Мне нужноудалите (19* часть и оставьте .avi, чтобы новыйследующие имена:

  • ...
  • 04-067 - имя нужного мне файла .avi
  • 04-068 - имя нужного мне файла.avi
  • 04-069 - имя нужного мне файла .avi
  • 04-070 - имя нужного мне файла .avi
  • 04-071 - имя нужного мне файла.avi
  • 04-072 - имя нужного мне файла .avi
  • 04-073 - имя нужного мне файла .avi
  • ...

Иногда имена файлов также содержат (abc), но всегда присутствуют (19*:

04-067 - Имя нужного мне файла (цветной) (3D) (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi

Любая быстрая помощь для такого регулярного выражения?

Обновление: Вот изображение (http://img542.imageshack.us/img542/6275/bulkrenameutility.png): Screenshot

С уважением.

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Заменить \s*\(19.*\.avi на .avi

1 голос
/ 14 июня 2011

Я не знаю инструмент, на который вы ссылаетесь, но это регулярное выражение должно работать

/ (.*)/

есть пробел перед первой скобкой, а затем заменить его пустой строкой.Возможно, "(" необходимо экранировать в вашем инструменте.

протестировано с использованием sed:

$ echo '04-067 - Name of File I need (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s).avi' | sed 's/ (.*)//'
04-067 - Name of File I need.avi
0 голосов
/ 14 июня 2011

Это регулярное выражение должно соответствовать всем именам файлов, содержащим год в скобках /(\s*19.*\.avi$/i.Затем замените соответствующую строку на .avi.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...