View previous topic :: View next topic |
Author |
Message |
Аля
Joined: 02 Jul 2016 Posts: 13
|
(Separately) Posted: Sat Jul 02, 2016 21:16 Post subject: Поиск по содержимому файлов с учетом знаков препинания |
|
|
Добрый день!
Прошу помочь в решении вопроса. Поиском по форуму, к сожалению, не нашла ответа.
Дано: несколько сотен файлов в формате .htm и .html. Необходимо провести поиск по содержимому файлов с ключевой фразой "Статус: в процессе".
Все упирается именно в двоеточие. То есть находит слово "статус" во всех файлах, "в процессе" в нескольких, а нужно именно фразу целиком, так как "в процессе" может находиться и просто в тексте файла, а не в шапке, определяя завершенность текста. Если же я пробую фразу целиком, то пишет "Искомые файлы не найдены".
Файлы на русском языке, кодировка utf-8.
Испробованы все галочки в диалоге поиска, плагины поиска. Я понимаю, что я, разумеется, что-то делаю не так, но что - понять не могу.
Если я правильно поняла, то, скорее всего, нужно использовать параметр "Регулярные выражения", но если ставить на него галку, исчезает галка с параметра "utf-8", и не находится вообще ничего.
Пожалуйста, объясните, можно ли провести поиск по содержимому в файлах utf-8, учитывая знаки препинания в запросе?
Простите за возможную путанность объяснения.
Спасибо. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sat Jul 02, 2016 22:01 Post subject: |
|
|
Аля
Во-первых, в порядке общей информации: в новейших версиях TC 9.0, помимо прочего, добавлена возможность одновременного поиска текста с регулярными выражениями и в кодировке UTF-8.
Во-вторых, конкретно по проблеме: лично у меня в тестовом HTML-файле в UTF-8 фрагмент, содержащий двоеточие, прекрасно находится. В том числе и ровно та фраза, которую вы ищете. Между прочим, и в 8.52a тоже. Опция "UTF-8" при поиске, естественно, включена. И, конечно, без всяких регулярных выражений.
Вы какой, собственно, версией TC пользуетесь? И заодно уж — о каких плагинах поиска речь? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Аля
Joined: 02 Jul 2016 Posts: 13
|
(Separately) Posted: Sat Jul 02, 2016 23:59 Post subject: |
|
|
Avada,
кажется, я поняла, в чем дело, простите, что раньше не сказала, я в этом не особо разбираюсь.
Если посмотреть на код страницы, то искомая фраза отображена так:
Code: | <br/>
<b>Статус:</b>
в процессе
<br/><br/> |
То есть, получается, с переносом на другую строку, видимо, поэтому и не ищет.
Подскажите, пожалуйста, можно ли как-нибудь искать такие запросы, или это невозможно?
Спасибо. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2016 00:21 Post subject: |
|
|
С отметкой "Регулярные выражения": Статус:</b>\r?\nв процессе _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2016 00:38 Post subject: |
|
|
Аля
Ну тогда удивляться нечему. Тут целый букет всего. HTML обрабатывается как простой текст, теги при этом не игнорируются. Вдобавок в приведённом фрагменте перед "в процессе" нет пробела. И, наконец, перенос. Как его искать, в справке, между прочим, написано.
Короче говоря, без регэкспов — вот так (и кодировку выставить не забудьте):
Статус:</b>\nв процессе
Это при условии, что у вас все вхождения оформлены однотипно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Аля
Joined: 02 Jul 2016 Posts: 13
|
(Separately) Posted: Sun Jul 03, 2016 00:47 Post subject: |
|
|
Flasher, Avada,
все равно пишет - "Искомые файлы не найдены". Версия TC последняя, при поиске ставлю галки на "UTF-8" и ставлю, и пробовала без "Регулярные выражения".
Прикрепляю ссылку (сам файл сохранен в html на комп) как образец, остальные такие же. Может быть, возможно понять, в чем дело.
Не хотелось бы вручную открывать и переименовывать каждый незаконченный файл, их несколько сотен.
Приношу извинения за беспокойство, всю голову уже сломала, как по-другому сделать, не сильна в этом, к сожалению.
Спасибо.
поставила лишний пробел в ссылке:
https://ficbook.net/printfic/350870 |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2016 01:01 Post subject: |
|
|
Аля
Ищет без регулярок. В поле "Искать файлы:" *.htm;*.html стоит? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2016 01:23 Post subject: |
|
|
Flasher
В моём тестовом HTML-файле с точно таким же вхождением и точно такой же кодировкой по вышеприведённому варианту поиска всё находится (вообще без масок, поскольку искал в выделенном файле), в этом — нет. Причину пока не понял, на ночь глядя искать её не буду, отложу на потом.
Добавлено спустя 2 минуты:
Аля
А слов "в процессе" для поиска недостаточно? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2016 01:37 Post subject: |
|
|
Avada wrote: | Причину пока не понял | Причину чего? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Аля
Joined: 02 Jul 2016 Posts: 13
|
(Separately) Posted: Sun Jul 03, 2016 01:40 Post subject: |
|
|
Flasher,
Avada,
нет, к сожалению, не ищет.
Приведенный файлик со стихами, а есть просто с длинными текстами. Такое выражение попадается в самом тексте, иногда несколько раз, а мне нужно знать, какие из нескольких сотен файлов именно не закончены и пересохранять их по мере окончания.
Вручную пересматривать - весьма муторно, хотела затем переименованием добавить в конце имени "в процессе", чтобы знать, по каким файлам отслеживать обновления. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2016 01:59 Post subject: |
|
|
Аля
Приведите версию TC и скриншот окна поиска с заданными опциями. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2016 10:05 Post subject: |
|
|
Flasher wrote: | Причину чего? |
Я вроде как ясно написал — чего. В моём файле с такими условиями всё находилось, в выложенном — нет. О прочем см. далее.
Твой вариант с регэкспами у меня почему-то не работает.
Аля
Чтобы уж совсем всё было ясно видно, взял за основу свой тестовый файл (где всё находится) и образец (где ничего не находится) и привёл их к внешне идентичному содержанию, включающему Code: | <body>
<p><b>Статус:</b>
в процессе</p>
</body> | На результат поиска это не повлияло никак.
Далее я учёл, что в файлах разный тип переноса строк (\r\n в моём, \n в редуцированном образце), привёл это к единому виду, поменяв (через AkelPad) в образце юниксовский стиль переносов на стиль Windows. После чего поиск в том варианте, как я это предлагал ранее, немедленно заработал.
Так что, да, причина в переносах. Но использовать универсальную поисковую строку я пока не смог. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Аля
Joined: 02 Jul 2016 Posts: 13
|
(Separately) Posted: Sun Jul 03, 2016 11:53 Post subject: |
|
|
Flasher,
ссылка на скриншот:
http://s018.radikal.ru/i514/1607/a7/39b405e48a80.jpg
Версия TC - 9.0 beta 3, последняя, скачивала отсюда, с форума.
Испробовано: по Вашему варианту написания (и по второму варианту тоже)
Code: | Статус:</b>\nв процессе |
Поле "Искать файлы:" *.htm;*.html " - заполнено, пусто;
Галочка "Регулярные выражения" - стоит, не стоит;
Все остальные галки в правом столбике, кроме UTF-8, стоят, не стоят.
И все вышеперечисленное в различных комбинациях...
Avada,
если причина в переносах, можно ли каким-нибудь способом через TC пакетно отредактировать все файлы в приемлемый вид? Или нужна сторонняя программа (если такие существуют)?
Или все-таки есть способ поиска по содержимому и в таких файлах в TC?
Спасибо. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2016 12:14 Post subject: |
|
|
Аля
У меня пока ответов на заданные вопросы нет, поскольку этой проблемой серьёзно раньше никогда не занимался. К тому же приведение переносов к другому виду на локальной машине не означает, что и на сервере всё будет так же. (Загляните, например, сюда.) Но, возможно, кто-то сможет подсказать что-то толковое.
И, думаю, очевидно, что вариант, показанный на скрине, в любом случае работать не может (регэкспы включены, но в поле ввода их нет). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Sun Jul 03, 2016 13:04 Post subject: |
|
|
Avada wrote: | Далее я учёл, что в файлах разный тип переноса строк (\r\n в моём, \n в редуцированном образце) |
Если правильно понял, в вашем примере "Статус:</b>\nв процессе" это не должно иметь значения: без галки Регулярные выражения можно использовать Escape-последовательности, а с ними обычно \n - это любой перенос строки. По крайней мере так в любом приличном текстовом редакторе.
Баг ТС? (Ранее не пробовал искать подобное, обычно обычный текст.)
Аля
RegXtract не успели попробовать?
Добавлено спустя 20 минут:
Хотя нет, PCREsearch, наверное, будет поудобнее (см. Line count: замените выражение на Статус:</b>\r?\nв процессе на всякий случай и при поиске с плагинами в условие Line count = 1)
Добавлено спустя 2 минуты:
С PCREsearch можно будет создать и пользовательский набор колонок. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|