|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
Как найти совпадающие слова в файлах с Portacle?16.09.2020, 22:48. Показов 5370. Ответов 44
Метки нет (Все метки)
Опишу задачу, используя регулярное выражение для примера. А Вы объясните, пожалуйста, пошагово и с кодом, как выполнить нужное в Portacle.
Надо поискать в папке (а если можно, то и во вложенных тоже) файлы, соответствующие запросу, и чтобы можно было выводить найденные файлы на экран по одному для просмотра, и чтобы фон всех совпадающих слов подсвечивался одновременно. Вместо (ПРОПУСК ТЕКСТА) надо что-то придумать, чтобы этот фрагмент выпадал из результата, возвращаемого регуляркой. Надо искать файлы, которые одновременно содержат обе части, написанные до (ПРОПУСК ТЕКСТА) и после. Как вариант, можно для второй последовательности, делать поиск в найденном. Надо, чтобы подсвечивалось не только два совпадения, а все, которые есть в документе. Размер обрабатываемых файлов - одна или несколько страниц. Пример регулярного выражения: кашел|кашл(ПРОПУСК ТЕКСТА)насморк|ринит|синусит|сопл|выделе н.+нос|нос.*выделен |гайморит Вместо двух частей, как в этом регулярном выражении, может быть больше (меньше то же возможно, только это маловероятно). Регулярку не стал делать, чтобы искало все слово вместе с окончанием (некоторые слова показаны здесь укороченными для совпадения с разными падежами), планирую доделать потом.
0
|
|
| 16.09.2020, 22:48 | |
|
Ответы с готовыми решениями:
44
Как найти самые длинные слова во всех файлах? Найти совпадающие слова в тексте
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 10:52 [ТС] | |
|
Из Geany запустил.
File "poisk1.py", line 5 for root, dirs, files in os.walk('.'): ^ IndentationError: expected an indented block
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 11:34 [ТС] | |
|
А как сделать, чтобы строки с not found не выводились?
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 11:39 [ТС] | |
|
Пробовал. Выводит open filename: путь
Добавлено через 44 секунды То есть надо оставить в консоли только строки с совпадениями.
0
|
|
|
Просто Лис
|
|||||||
| 17.09.2020, 11:42 | |||||||
|
Ты, что ли, совсем не понимаешь питон? Возьми листочек и нарисуй блок-схему поэтому кусочку кода:
0
|
|||||||
|
Заблокирован
|
|
| 17.09.2020, 12:22 | |
|
supmener, ты вроде Linux пользуешься.
У тебя уже полно готовых инструментов для таких задач.
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 12:31 [ТС] | |
|
Благодарю. Только не понимаю, как использовать пример на скриншоте для поставленной задачи.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 12:39 [ТС] | |
|
А Вы не могли бы подсказать, что конкретно надо писать в консоли, если уже прочитали то, что по ссылке?
0
|
|
|
Заблокирован
|
|
| 17.09.2020, 13:12 | |
|
Все зависит от того, что ты хочешь получить.
Вот я создал три файла в паке /tmp/ В двух из них есть твой паттерн, а в одном - target2 - нет.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 13:17 [ТС] | |
|
Надо отобрать файлы, в которых одновременно есть совпадения по обоим регулярным выражениям:
кашел|кашл насморк|ринит|синусит|сопл|выделен.+нос| нос.*выделен |гайморит выводить их на экран (содержимое файлов) и подсвечивать совпадения, выдаваемые обоими регулярными выражениями одновременно.
0
|
|
|
Заблокирован
|
||||||
| 17.09.2020, 13:44 | ||||||
0
|
||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 16:08 [ТС] | |
|
Этот код не решает поставленной задачи.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 16:46 [ТС] | |
|
Человек подсказал, что это можно сделать в Emacs. А в другой теме выяснили, что в командной строке Линукс, то что нужно, сделать нельзя. В то же время, человек который это объяснил, как я понял потом, не знал точно, в чем заключается задача.
0
|
|
|
Заблокирован
|
||
| 17.09.2020, 19:09 | ||
|
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 20:50 [ТС] | |
|
И каким же образом этот код ищет файлы, в которых одновременно присутствуют совпадения от обоих регулярных выражений? У Вас в коде одно регулярное выражение, а не два.
0
|
|
|
Заблокирован
|
|
| 17.09.2020, 22:05 | |
|
supmener, я тебе пример показал как сделать, а дальше ты уже ищи как и что тебе надо и как надо, какие угодно паттерны.
Читай man egrep и смотри паттер-матчинг.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
|
|
| 17.09.2020, 22:11 [ТС] | |
|
Если это невозможно, то смысла искать нету. Это уже в другой теме стало понятно.
0
|
|
| 17.09.2020, 22:11 | |
|
Помогаю со студенческими работами здесь
40
Найти слова совпадающие с начальным отрезком латинского алфавита В тексте найти слова, совпадающие по трем последним символам
Найти в файлах ключевые слова Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|