ПОИСК ТЕКСТОВЫХ ФАЙЛОВ ПО ЗАДАННЫМ КЛЮЧЕВЫМ СЛОВАМ

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 1
Joined: Mon Nov 11, 2019 4:53 am

ПОИСК ТЕКСТОВЫХ ФАЙЛОВ ПО ЗАДАННЫМ КЛЮЧЕВЫМ СЛОВАМ

Post by Vlad_Samsonoff »

День добрый, подскажите, кто знает.

Допустим, в папке 2 тыс. текстовых файлов, в каждом файле небольшая заметка, а в начале текста ключевые слова по этой заметке.

Как мне через какое-нить ключевое слово получить набор текстовых файлов (в которых это ключевое слово имеется, причем не в самом тексте, а в стороке KeyWords, куда я сам вписываю нужные слова)?

(пользую Akelpad 4.8.0)


Пример текстового файла:
---------------------------
1-я строка: = ЗАГОЛОВОК ЗАМЕТКИ =
2-я строка: KeyWords: ПРЕДЛОГИ… НАРЕЧИЯ… ВВОДНЫЕ СЛОВА… (и т.д.)
4-я строка: _ _ _
5-я строка: _ _ _
6-я строка: (Текст заметки)
7-я строка: (Текст заметки)


Несколько лет назад пользовался похожей програмкой – из большого объема графических элементов предлагала набор файликов, соответствующих какому-то кл. слову. (Был отдельно список ключевых слов; когда библиотека пополнялась, новые файлики получали свои ключевые слова из общего списка. А в список можно было добавлять новые кл. слова.)

Offline
Posts: 330
Joined: Mon Jun 03, 2019 2:33 am

Re: ПОИСК ТЕКСТОВЫХ ФАЙЛОВ ПО ЗАДАННЫМ КЛЮЧЕВЫМ СЛОВАМ

Post by AZJIO »

Vlad_Samsonoff
Попробуй мою прогу TextReplace
с помощью регулярного выражения

Code: Select all

(?m)^KeyWords: [^\r\n]*?(?:ПРЕДЛОГИ|НАРЕЧИЯ|ДРУГОЕ_КЛЮЧЕВОЕ_СЛОВО)
или вариант, который будет искать только начало:

Code: Select all

(?s)\A= ЗАГОЛОВОК ЗАМЕТКИ =[\r\n]{1,2}KeyWords: [^\r\n]*?(?:ПРЕДЛОГИ|НАРЕЧИЯ|ДРУГОЕ_КЛЮЧЕВОЕ_СЛОВО)
Для AkelPad есть скрипт FindReplaceFiles.js поиска в файлах, но я его не тестировал. Рег.выр. в JS отличаются, так что в скрипте оно может не работать в таком виде.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Vlad_Samsonoff
Можно обойтись регулярными выражениями в Total Commander-е. Поиск по строке с опорным словом "KeyWords:" в начале.
Поставить галку [С текстом:]
Вписать выражение

Code: Select all

^KeyWords:.*(ПРЕДЛОГИ|НАРЕЧИЯ)
Отметить опции:
[v] Регулярные выражения
(+ все необходимые кодировки (ANSI, ASCII, UTF-16, UTF-8))
--
(тестировалось на версии 9.50beta4)
Post Reply