Множественный поиск
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Общие вопросы

#1: Множественный поиск Author: tumanovalex PostPosted: Sat Dec 01, 2018 23:47
    —
Есть большая база текстовых документов (doc, docx, rtf, архивы zip). При поступлении нового документа нужно проверить, встречаются ли указанные в нем строки (каждая строка от 3 до 18 символов находится на отдельной строке нового документа) в базе документов. Количество строк, которые нужно проверить, может достигать нескольких десятков. Строки, которые нужно найти, в настоящее время в файле RTF, но можно перевести в обычный текстовой файл. Подставлять по одной строке и искать - очень утомительно.Можно ли автоматизировать тотал так, чтобы он выбирал из заданного файла по одной строке, искал в заданной директории с заданными параметрами поиска (имя и расширение файла, возможность поиска по архивам, различные кодировки и др.) и выводил бы в другой файл найденную строку и полное имя файла, в котором эта строка найдена? Если в принципе этот процесс можно автоматизировать, то посоветуйте, пожалуйста, ресурсы, изучив которые я бы попробовал это сделать.
 !  Avada:
Тема не для "Автоматизации". Перенесено в "Общие вопросы".

#2:  Author: FlasherLocation: Москва PostPosted: Sun Dec 02, 2018 01:56
    —
tumanovalex
Ищите регуляркой: ^(строка1|строка2|строка3)$
Перечисленные опции поиска все на виду. Специальным образом выводить найденное в текстовые файлы ТС не умеет. Только сохранить в файл выделенный список найденного. Строки в найденном придётся искать самостоятельно, тем более, что их в файле может быть несколько.
Как вариант — это плагины PCRESearch или WinScript Advanced Content с выводом нужной информации в колонки, которые при желании можно скопировать соотв. командой.

#3:  Author: tumanovalex PostPosted: Sun Dec 02, 2018 21:12
    —
Спасибо большое за подсказку, попробую. Перечень файлов тоже существенно упростит работу. Причем, как я понимаю, будут найдены за один проход все файлы с нужными строками. А если я сделаю из файла со строками программно очень длинную строку ^(строка1|строка2|строка3...)$, потом можно ее будет вставить в поле для поиска? Или там есть ограничения на число символов?

#4:  Author: FlasherLocation: Москва PostPosted: Sun Dec 02, 2018 21:44
    —
Ограничение в поле "С текстом:" = 128 символов.
И на этот случай есть страница поиска с плагинами (textsearch и Office2007), где без проблем можно объединить несколько подобных регулярок.

#5:  Author: tumanovalex PostPosted: Tue Dec 04, 2018 16:44
    —
Спасибо большое за ответы. Сделал регулярное выражение из 2 коротких строк ^(CN036742614BO38DB|CN0KF87Y744453)$, установил флаг "Регулярные выражение" (скриншот https://yadi.sk/i/CX3cuV2216dQoA). ТС ничего не обнаружил. По отдельности все ищется нормально. Что я делаю неправильно?

#6:  Author: FlasherLocation: Москва PostPosted: Tue Dec 04, 2018 18:29
    —
Всё правильно. Это баг Тотала. Sad

#7:  Author: tumanovalex PostPosted: Tue Dec 04, 2018 21:00
    —
А что посоветуете для решения задачи? Попробовать написать плагин? Или это тоже не поможет, из плагина не удастся многократно вызывать поиск?

#8:  Author: FlasherLocation: Москва PostPosted: Tue Dec 04, 2018 23:41
    —
Ну, вообще для doc в отличии от docx ТС у меня находит совпадения.
А плагины я назвал выше. TextSearch, PCRESearch либо скрипт для WAC + xd2txcom.dll, например.

#9:  Author: tumanovalex PostPosted: Thu Dec 06, 2018 11:30
    —
Flasher wrote:
Ну, вообще для doc в отличии от docx ТС у меня находит совпадения.
А плагины я назвал выше. TextSearch, PCRESearch либо скрипт для WAC + xd2txcom.dll, например.
Проверил. у меня тоже в doc находит. а в docx - нет. Попробую рекомендуемые Вами плагины.



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group