Вот что я хочу сделать:

ДО:

AVCHD/2017-08-25/20170824_GV_GLW_C102/private 
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/AVCHD    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/AVCHD/BDMV    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/AVCHD/BDMV/CLIPINF    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/AVCHD/BDMV/PLAYLIST    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/AVCHD/BDMV/STREAM    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/Converted    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/M4ROOT    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/M4ROOT/CLIP    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/M4ROOT/GENERAL    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/M4ROOT/SUB    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/M4ROOT/THMBNL    
AVCHD/2017-08-25/20170824_GV_GLW_C102/private/SONY    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/AVCHD/BDMV/STREAM    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/Converted    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/M4ROOT    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/M4ROOT/CLIP    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/M4ROOT/GENERAL    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/M4ROOT/SUB    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/M4ROOT/THMBNL    
AVCHD/2017-08-24/20170822_GV_GLW_C099/PRIVATE/SONY

ПОСЛЕ:

20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170824_GV_GLW_C102    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099    
20170822_GV_GLW_C099

Затем я удалю все дубликаты, как только смогу сократить пути каталогов до имен их родительских папок, как показано здесь.

Родительские папки всегда содержат эту точную структуру: «XXXXXXXX_XX_XXX_XXXX»

Мне нужно удалить весь текст до и после появления этой структуры, оставив только имя родительской папки

Любая помощь высоко ценится!

2 ответа2

2

Вы можете использовать функцию поиска и замены Notepad++ с регулярными выражениями. В зависимости от того, как заданы имена папок, вы можете использовать что-то подобное в окне поиска (это довольно уродливое выражение, но оно работает с вашим примером.):

.*?(\d{8}_[A-Z]{2}_[A-Z]{3}_[A-Z]\d{3}).*

В поле «заменить на» вы можете поставить

\1

Объяснение выражения:

  • .* принимает любое количество любых символов. Знак вопроса после этого говорит, что использует ленивое соответствие
  • \d{8} соответствует 8 цифрам
  • _ соответствует подчеркиванию [AZ] {2} соответствует ровно 2 заглавным буквам
  • Область между скобками создает группу захвата, которую можно использовать в качестве значения для замены.
0

Найти с:

^.+/(\d{8}_.{2}_.{3}_.{4})/.+$

Заменить:

$1

Заменить все

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .