Как найти фрагмент текста в файле

Содержание

  1. Как найти слово или текст в файлах Вашего компьютера?
  2. По этой теме также читают:
  3. Комментарии (11)
  4. Как найти текстовый документ на компьютере, если не помнишь название
  5. Эволюция функции «Поиск»
  6. Начинаем искать
  7. Все текстовые документы
  8. По имени
  9. По дате
  10. По типу
  11. По размеру
  12. По содержанию
  13. Как найти фрагмент текста в документах на компьютере
  14. Способ 1. Поиск через «Средства поиска» ОС Windows 10
  15. Способ 2. Поиск через Total Commander
  16. Способ 3. Поиск через Notepad++
  17. Поиск по тексту документов в папке
  18. Полнотекстовый поиск по папкам
  19. Как искать по файлам в ZIP архивах
  20. Как искать по точному совпадению. Как искать по фразе
  21. Поиск файлов по их содержимому в Windows 10
  22. Поиск файлов по содержимому в Виндовс 10
  23. Способ 1: Сторонние программы
  24. Способ 2: Поиск через «Пуск»

Как найти слово или текст в файлах Вашего компьютера?

Написал admin. Опубликовано в рубрике Работа с программами

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

Для начала, эту программу необходимо установить. Не буду останавливаться на этом этапе, а сразу перейду к следующему. Запускаем Notepad++ через Пуск/Все программы.

3

В появившемся окне в верхнем меню выбираем Поиск/Найти в файлах. Также можно воспользоваться сочетанием клавиш Ctrl+Shift+F.

4

Появится окно, где в поле Найти нужно указать слово или фразу, по которой мы ищем файл, а в поле Папка указать примерное расположение файла. Если уж совсем не помните, где может быть этот файл, то в поле Папка укажите имя диска.

5

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

Подписывайся на канал MyFirstComp на YouTube!

По этой теме также читают:

Комментарии (11)

Статья супер. Большое спасибо. Я много лет ломал голову, почему поиск семёрки ни хрена не находит! Оказывается эти дебили отключили поиск по содержимому. Чтоб им пусто было!
А вам ещё раз большое спасибо!

На самом деле есть поиск Windows 7 по содержимому. Просто нужно зайти в панель управления, найти там “параметры папок поиска” b поставить галочку в в строке «Всегда искать по именам файлов и содержимому».

Источник

Как найти текстовый документ на компьютере, если не помнишь название

Poisk

Эволюция функции «Поиск»

Первоначально поговорим об эволюции поисковой функции с появлением новых версий Windows. Помните XP? Окно поиска было отдельным. Ещё там сидел симпатичный помощник – собачка или кто-то другой. Попасть в него можно было через «Пуск».

Poisk1

В левую часть окна были вынесены настройки поиска:

Результаты отображались в правой части окна. На мой взгляд, очень удобно всё было устроено.

В новых версиях Windows – 7, 8 и 10 функция претерпела косметические изменения. Почему косметические? Да потому что её действие осталось прежним, но только параметры поиска задаются автоматически, когда в строку, расположенную и сразу в меню Пуск, и в каждой папке, вы вписываете значение для поиска. Либо их можно также настроить, но совершенно в другом месте. Исключение – только поиск по содержанию документа, но и это легко решаемо. Пока непонятно? Рассмотрим подробнее по каждому параметру чуть ниже. Зачем разработчики всё усложнили, точнее, упростили? Видимо, они заботились о нас вечно занятых пользователях.

Вот как выглядит поисковая строка в Windows 10.

Poisk2

А вот так в восьмой точка один версия ОС.

Poisk3

Поскольку с XP всё понятно, я буду рассказывать о различных возможностях поиска на примере «восьмёрки», тем более «семёрка» и «десятка» от неё в этом вопросе практически не отличаются.

Начинаем искать

Друзья, хватит разглагольствовать, приступим к основному вопросу — как можно найти потерявшийся документ Word на компьютере по разным его характеристикам.

Все текстовые документы

Сначала давайте попробуем найти на компьютере абсолютно все текстовые документы, не оглядываясь на такие параметры, как их название, содержимое и дата создания. Для этого откройте «Мой…», «Этот…» или просто «Компьютер». В правом верхнем его углу, рядом со строкой пути, найдётся и поисковая строка. А по соседству с основными разделами меню («Файл», «Вид» и другими) найдётся раздел «Поиск». Забегая вперёд, скажу, что именно там находятся настройки основных параметров.

Poisk4

Друзья, если вы хотя бы знаете, в какой папке находятся ваши текстовые документы, то перейдите в неё – это значительно облегчит работу вашей машине. Для поиска всех текстовых документов в строке необходимо вписать значение *.doc, *.docx или *.txt (зависит от того, что вы планируете найти).

По имени

Если вы знаете имя документа, то отыскать его не составит труда. Просто введите имя в строку поиска, и «вкушайте плоды». Но что делать, если название нужного файла в голове не сохранилось? В таком случае у вас остаётся ещё несколько вариантов – найти нужный документ, отсортировав имеющиеся по дате его рождения на свет (или изменения), по размеру (от пустых и крошечных до огромных и гигантских), по типу (выбрав «документ») или по внутреннему тексту.

По дате

Зайдите в любую папку, поставьте курсор в поисковую строку. В этот же момент отобразится новый раздел меню «Поиск». Раскройте его содержимое. Среди прочих настроек вы увидите параметр «по дате создания» (или последнего изменения). Среди возможных вариантов диапазоны времени от «сегодня» до «в прошлом году». Или просто попробуйте в строку ввести значение в виде точной даты. В результатах должны отобразиться все документы, созданные или изменённые указанного числа.

Poisk5

По типу

Среди тех же настроек имеется параметр «по типу». Перечень возможных вариантов включает файлы всех возможных типов – от календаря и контакта до музыки и фильма. В нашем случае требуется выбрать значение «документ».

Poisk6

По размеру

Тут же можно выбрать и размер. Машина будет искать даже пустые документы. Максимальный размер для поиска – 128 мегабайт.

Poisk7

По содержанию

Друзья, вот и подошли к тому, с чего начали – поиск текстового файла по его содержимому. Есть два варианта. Первый – это отметить галочкой нужный параметр всё в тех же настройках. Там есть раздел «Дополнительные параметры», в котором следует пометить галочкой пунктик «Содержимое файлов». Затем вводите нужную фразу в строке и запускайте поисковый процесс.

Poisk8

Poisk9

Poisk10

В то же окно настроек можно попасть и по-другому (актуально для «семёрки»):

Poisk11

Друзья, настроив поисковую функцию, вам останется только написать фразу из текста содержимого в строке и подождать результатов. Стоит заметить, что в этом случае поиск займёт более длительное время, за которое я успел налить себе чай и выпить его. На сегодня всё. До новых тем.

Источник

Как найти фрагмент текста в документах на компьютере

Довольно часто бывает такое — написал текст, сохранил, а под каким названием был файл, со временем забыл. Либо компьютер просто захламлен большим количеством мусора из файлов и отыскать нужный файл помогут как штатные средства ОС Windows, так и сторонние ПО.

Способ 1. Поиск через «Средства поиска» ОС Windows 10

Открываем каталог/папку, где предполагаем начать поиск файла (в моем случае это рабочий стол), в окне справа находим поле поиска, в котором будет написано: «Поиск: Рабочий стол» (если поиск подразумевается в другой папке, то вместо «рабочий стол» будет название папки). Щелкаем правой кнопкой мыши по этому полю и вводим слово или фразу по которой ходит найти файл.

В моем случае нашлось два файла, которые содержат внутри слово «Windows»:

a429ce3d98ecac970afb8f24c2e50e01

Для поиска в документах MS Office необходимо перейти во вкладку «Поиск», в «Дополнительные параметры» отмечаем пункт «Содержимое файлов»:

d8df6c7bac175bbe17beed8923071351

Способ 2. Поиск через Total Commander

Открываем ПО Total Commander, на панели управления находим кнопку с «лупой» — кнопку поиска. Либо нажимаем «Команды» — «Поиск файлов. ». Либо нажимаем на клавиатуре сочетание клавиш «Alt+F7». Во всех трех случаях откроется окно поиска файлов. Во вкладке «Общие параметры» выбираем в пункте «Место поиска» путь, по которому будем производить поиск, далее отмечаем галочку «С текстом» и пишем искомую фразу или слово, по завершении нажимаем кнопку «Начать поиск»:

7f1e3561f1702ed12a4963481fea95b3

Если система найдет файлы, результат будет следующим:

83f3cc65adcc497816f621a106dc426e

Способ 3. Поиск через Notepad++

Открываем ПО Notepad++, щелкаем «Поиск» — «Найти в файлах», либо нажимаем на клавиатуре клавиши «Ctrl+Shift+F». В появившемся окне поиска в пункте «Папка» выбираем путь для поиска, а в пункте «Найти» указываем искомое слово, затем щелкаем кнопку «Найти все» и радуемся результату поиска:

efbaefbc7ecf6f4a1744df23cad6cd21

defaultа попроще. без умничаяния?

Источник

Поиск по тексту документов в папке

Что делать если нужно найти определённый документ среди десятка или сотен?

Если известно имя документа, то выполнить поиск довольно просто — многие программы, в том числе стандартный проводник Windows умеют искать по имени файла.

Чтобы найти файл по имени, откройте проводник (файловый менеджер) Windows, перейдите в папку, где вы хотите выполнить поиск и в поле «Поиск» введите имя файла или часть имени, чтобы найти все файлы, которые ему соответствуют:

find

Полнотекстовый поиск по папкам

Но что делать, если мы хотим найти файл по его содержимому? Например, нам известна фамилия, которая упоминается в документе.

Если вы ищете среди текстовых документов, то многие программы могут вам помочь, например, Total Commander и Double Commander могут искать по содержимому текстовых файлов.

К счастью, самый обычный проводник Windows умеет делать полнотекстовый поиск по всем офисным форматам MS Office.

Чтобы искать по содержимому офисных документов, перейдите в папку, где находятся файлы, среди которых вы хотите выполнить поиск. В поле «Поиск» введите искомое слово или фразу. Нажмите на слово «Поиск» под фразой «Средства поиска»:

find text 2

Нажмите на кнопку «Дополнительные параметры»:

find text 3

Нажмите «Содержимое файлов»:

find text 7

В результате если файлов много, то поиск будет выполняться значительно дольше, чем поиск по именам файлов. Но зато теперь вы сможете найти документы по словам, которые содержатся в тексте офисных файлов.

find text 5

Как искать по файлам в ZIP архивах

Если файлы упакованы в ZIP архивы, то по умолчанию в них не выполняется поиск даже если включён поиск по содержимому файлов.

Чтобы включить поиск по ZIP архивам, введите слово для поиска, нажмите на слово «Поиск» под фразой «Средства поиска», нажмите на кнопку «Дополнительные параметры» и выберите «Сжатые ZIP-папки»:

find text 6

Данные опции являются постоянными и сохраняются даже после закрытия проводника и перезагрузки компьютера. Если вы обычно ищите по имени файла (а не по его содержимому) и поиск для вас стал слишком медленным, то отключите эти опции в том же самом порядке, как показано их включение.

Как искать по точному совпадению. Как искать по фразе

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

Если поместить фразу в кавычки, то это ничего не изменит — по-прежнему будут показаны документы, содержащее хотя бы одно слово.

Тем не менее решение есть, для этого нужно использовать конструкцию

Источник

Поиск файлов по их содержимому в Windows 10

Kak iskat fajly po soderzhimomu v Windows 10

Для многих пользователей основным местом хранения практически любой электронной информации является жесткий диск в компьютере или флешка. Со временем данных может накапливаться большое количество и даже качественная сортировка и структуризация могут не помочь — без дополнительной помощи отыскивать нужное станет сложно, особенно когда помнишь содержимое, но не помнишь имя файла. В Windows 10 есть сразу два варианта того, как искать файлы по их отрывку.

Поиск файлов по содержимому в Виндовс 10

В первую очередь с данной задачей ассоциируются обычные текстовые файлы: мы сохраняем на компьютере различные заметки, интересные сведения из интернета, рабочие/учебные данные, таблицы, презентации, книги, письма из почтового клиента и многое другое, что можно выразить текстом. Помимо этого по содержимому можно искать и узконаправленные файлы — сохраненные страницы сайтов, код, хранящийся к примеру, в расширении JS и др.

Способ 1: Сторонние программы

Обычно функциональности встроенного поисковика Windows достаточно (о нем мы рассказали в Способе 2), но сторонние программы в ряде случаев будут приоритетнее. К примеру, настройка параметров расширенного поиска в Виндовс устроена таким образом, что вы делаете ее один раз и надолго. Вы также можете выставить поиск по всему накопителю, но при большом количестве файлов и объемном жестком диске процесс иногда замедляется. То есть гибкости системой не предусмотрено, сторонние же программы позволяют каждый раз искать по новому адресу, сужая критерии и используя дополнительные фильтры. К тому же такие программы часто выступают небольшими файловыми помощниками и имеют расширенные возможности.

В этот раз мы рассмотрим работу простой программы Everything, поддерживающей поиск на русском языке локально, на внешних девайсах (HDD, флешка, карта памяти) и на серверах FTP.

Poiskovoe pole po nazvaniyu v programme Everything na Windows 10

Perehod v rasshirennyj poisk programmy Everything na Windows 10

Nastrojki rasshirennogo poiska po soderzhimomu v programme Everything na Windows 10

Rezultaty poiska po soderzhimomu v programme Everything na Windows 10

Poisk fajla po soderzhimomu koda v programme Everything na Windows 10

Остальные возможности программы вы можете узнать из нашего обзора программы по ссылке выше или самостоятельно. В целом это очень удобный инструмент, когда требуется быстро искать файлы по их содержимому, будь то встроенный накопитель, внешний диск/флешка или FTP-сервер.

Если работа с Everything не подходит, ознакомьтесь со списком других похожих программ по ссылке ниже.

Способ 2: Поиск через «Пуск»

Меню «Пуск» в десятке было улучшено, и сейчас оно не такое ограниченное, как было в прошлых версиях этой операционной системы. Используя его, можно отыскать нужный файл в компьютере по его содержимому.

Для того чтобы этот способ был рабочим, необходима включенная расширенная индексация на компьютере. Поэтому первым делом разберем, как ее активировать.

Включение службы

У вас должна быть запущена служба, отвечающая за поиск в Виндовс.

Perehod v Sluzhby cherez okno Vypolnit v Windows 10

Proverka sostoyaniya sluzhby Windows Search v Windows 10

Aktivatsiya sluzhby Windows Search v Windows 10

Vklyuchenie sluzhby Windows Search v Windows 10

Включение разрешения индексации на жестком диске

Жесткий диск должен иметь разрешение на индексацию файлов. Для этого открываем «Проводник» и переходим в «Этот компьютер». Выбираем тот раздел диска, на котором планируется совершать поиск сейчас и в будущем. Если таких разделов несколько, выполните дальнейшую настройку поочередно со всеми ними. При отсутствии дополнительных разделов работать будем с одним — «Локальный диск (С:)». Жмем правой кнопкой мыши по иконке и выбираем «Свойства».

Perehod v Svojstva razdela zhestkogo diska v Windows 10

Убедитесь, что галочка рядом с пунктом «Разрешить индексирование…» установлена или поставьте ее самостоятельно, сохранив изменения.

Vklyuchenie razresheniya indeksirovaniya zhestkogo diskav Windows 10

Настройка индексации

Теперь остается включить расширенную индексацию.

Perehod v Parametry indeksirovaniya cherez menyu Pusk v Windows 10

Perehod v nastrojku indeksiruemyh papok v Windows 10

Напоминаем, что здесь надо выбирать те места, в которых вы планируете совершать поиск в дальнейшем. Если выбирать сразу весь раздел, в случае с системным будут исключены самые важные его папки. Это сделано и в целях безопасности, и для сокращения времени ожидания поиска. Все остальные настройки касательно индексируемых мест и исключений при желании настройте самостоятельно.

Dobavlenie papki dlya indeksirovaniya v Windows 10

Dobavlenie papki v isklyucheniya indeksirovaniya v Windows 10

Perehod v dopolnitelnye parametry indeksirovaniya v Windows 10

Perehod na vkladku Tip fajlov v Parametrah indeksirovaniya v Windows 10

Vklyuchenie indeksirovaniya svojstv i soderzhimogo fajlov v Windows 10

Protsess indeksirovaniya fajlov v Windows 10

Sbros indeksirovaniya v Windows 10

Preduprezhdenie o sbrose indeksirovaniya v Windows 10

Nastrojka poiska po soderzhimomu v menyu Pusk v Windows 10

Rezultaty poiska po soderzhimomu tekstovogo fajla cherez menyu Pusk v Windows 10

Rezultaty poiska po soderzhimomu strochki koda cherez menyu Pusk v Windows 10

Или в HTM-файлах (обычно это сохраненные страницы сайтов).

Rezultaty poiska po soderzhimomu HTM cherez menyu Pusk v Windows 10

Конечно, полный список файлов, которые поддерживает поисковик десятки, куда больше, и показывать все примеры не имеет смысла.

Теперь вы знаете, как оптимизировать поиск по содержимому в Windows 10. Это позволит сохранять больше полезной информации и не теряться в ней, как прежде.

Помимо этой статьи, на сайте еще 12327 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Как найти слово или текст в файлах Вашего компьютера?

Написал admin. Опубликовано в рубрике Работа с программами. 06.06.2013

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

Для начала, эту программу необходимо установить. Не буду останавливаться на этом этапе, а сразу перейду к следующему. Запускаем Notepad++ через Пуск/Все программы.

Все программы

В появившемся окне в верхнем меню выбираем Поиск/Найти в файлах. Также можно воспользоваться сочетанием клавиш Ctrl+Shift+F.

Найти в файлах

Появится окно, где в поле Найти нужно указать слово или фразу, по которой мы ищем файл, а в поле Папка указать примерное расположение файла. Если уж совсем не помните, где может быть этот файл, то в поле Папка укажите имя диска.

Окно поиска

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

Загрузка…

Привет, друзья. В этой публикации рассмотрим такой вопрос: как найти файл по содержимому. Т.е. по каким-то отдельным ключевым словам или словосочетаниям. Если вам нужно найти на своём компьютере какой-то документ или текстовый файл, при этом вы не помните его название, но вам чётко врезались в память отдельные слова или фразы с этого документа, вы найдёте этот документ. Правда, поиск в проводнике Windows для этих целей не годится, его лучше использовать только для поиска данных по ключевым фразам в названиях файлов. Для поиска по текстовому содержимому файлов необходимо прибегнуть к различным сторонним программам. И мы рассмотрим несколько таких — Total Commander, Everything, Archivarius 3000.

Как найти файл по содержимому

***

Друзья, к рассмотрению темы, как найти файл по содержимому, меня подтолкнула просьба о помощи одного читателя сайта:

Здравствуйте, админ. Проблема такая: срочно нужно найти файл по его содержимому среди целой кучи других похожих файлов, находящихся на жёстком диске моего компьютера. У меня на диске D находится много папок с файлами, и среди них есть текстовый файл с решением одной математической задачи. Но я помню только часть исходных данных y0= (4*2-22)/4=1, более ничего не помню. Расширение файла тоже не помню, это может быть «.txt», «.doc», «.xlsx», «.ttf» и даже «.phtml» или «.php3». Пробовал применить программу Multi Text Finder, но она ничего не нашла.

Программа Multi Text Finder, друзья, с виду вроде бы серьёзная, в ней можно выбирать типы документов для поиска, ключевые слова для поиска по содержимому документов, можно использовать маски поиска. Но, увы, это программа совершено бесполезна, найти файлы, содержащие текст, она не может. Возможно, в какой-то части случаев она и работает, но мой тест показал её полную непригодность. Я указал место поиска, ввёл ключевое слово, запустил поиск. Но поиск ничего не обнаружил.

Хотя по указанному пути документ не то, что с ключевым словом внутри, с ключевым словом в названии есть.

Увы, так бывает. Эту программу мы, друзья, отправим в топку. И давайте посмотрим на эффективные программы, которые реально помогут нам найти нужный файл, содержащий текст, какой мы помним.


Примечание: друзья, проводник Windows не ищет файлы по их внутреннему содержимому, но у него есть иные критерии поиска, с помощью которых вы можете сузить область поиска нужного вам файла. Как работать с поиском в системном проводнике, смотрите в статье «Как найти файл на компьютере».


Total Commander

Поиск файлов по ключевым словам в их тексте предусматривает функциональный файловый менеджер Total Commander. Эта программа сможет найти исчезнувший на вашем компьютере файл и по содержащемуся тексту, и по названию, и по расширению, и по дате создания, и по различным атрибутам. Ну и также у Total Commander много прочих интересных возможностей для опытных пользователей, так что если вы никогда не пользовались этим файловым менеджером, решение вашей проблемы может стать идеальным поводом для знакомства с ним и исследования прочих его возможностей.

Как найти файл по содержимому в Total Commander? На его панели инструментов есть кнопка поиска файлов, кликаем её. Или можем использовать горячие клавиши Alt+F7.

В форме поиска выбираем место поиска, можем указать весь раздел диска, на котором предположительно хранится нужный нам файл. И вводим ключевой запрос. Если мы его введём в графу «Искать файлы», поиск будет выполнен по названиям файлов. Если же мы активируем графу «С текстом» и в неё впишем ключевой запрос, то поиск будет выполняться по содержимому файлов. Что, собственно, и нужно нам. Вписываем в графу «С текстом» те слова или фразы, которые мы помним. И жмём «Начать поиск».

И далее по мере выполнения поиска на нижней панели окошка мы получим результаты поиска. И вот нам удалось найти файл, содержащий текст, который мы помним. 

А вот и сам файл.

Чтобы поиск выполнялся быстрее, нужно максимально сузить его область, т.е. указать более точный путь нахождения файла. И тогда процедура поиска займёт меньше времени.

Everything 

Друзья, для поиска файлов на Windows-компьютере есть специальные программы. Одна из них – бесплатная Everything. Очень простая и удобная, может работать обычно с установкой в Windows, и также может работать портативно. Ищет файлы по именам и содержимому, предусматривает расширенный поиск с разными настройками и фильтрами. Программа изначально выполняет индексацию содержимого компьютера, и благодаря этому поиск файлов выполняется мгновенно, гораздо быстрее, чем в проводнике Windows. Но индексация проводится только по именам файлов и, соответственно, мгновенный поиск возможен, если мы вводим ключевое слово в названии документа. Внутреннее содержимое файлов программа не индексирует, и, соответственно, если нам понадобится найти файлы, содержащие текст, придётся подождать, этот процесс может быть небыстрым.

Итак, программа Everything. Дабы искать в ней файлы по названиям, вводим ключевое слово из названия в поле программы в её главном окне.

Если же мы хотим найти файл, содержащий текст, в меню «Поиск» запускаем «Расширенный поиск».

Указываем ключевые слово или фразу. И желательно указать местоположение искомого файла, хотя бы примерное, хотя бы просто раздел диска. Если хотите, можете использовать другие фильтры и настройки расширенного поиска. 

И, вуаля – файл найден.

FileSearchy

Archivarius 3000

И ещё одну программу, друзья, рассмотрим, которая может найти файлы, содержащие текст, какой мы помним – это программа Archivarius 3000. Но это программа максимум-уровня, это суперфункциональный внутрисистемный поисковик файлов, включающий возможность поиска документов по их содержимому. И такой поиск программа выполнят мгновенно за счёт индексации содержимого указанных нами областей компьютера. Это не программа-однодневка, она платная, нужна она не всем, а только тем, кто постоянно работает с документами, у кого на компьютере хранятся большие их базы, и кому принципиально нужна оперативность и эффективность при поиске данных. Archivarius 3000 изначально индексирует указанные нами пути хранения документов, и впоследствии периодически также выполняет индексацию, чтобы в индексе всегда были актуальные сведения.

Механизм поиска у Archivarius 3000 такой, как у поисковых систем: программный поисковик ищет файлы не только с прямым вхождением наших ключевых запросов, но также с изменёнными словоформами, т.е. с разными падежами существительных и прилагательных имён, с разными временами глаголов и прочими морфологическими изменениями. И также при поиске учитывается плотность ключевых слов, а результаты поиска выстраиваются по релевантности. Друзья, программа очень серьёзная, у неё настраиваемый механизм индексации, собственный просмотрщик документов. Более того, программа даже может обеспечивать удалённый доступ к нашей базе документов по принципу сервера, и мы сможем искать файлы на нашем компьютере, будучи далеко от него, по сути, из любой точки мира. Так что в нескольких словах об этой программе не расскажешь, она достойна отдельного обзора. Покажу лишь, как пользоваться настроенной программой.

Как найти файл по содержимому с использованием Archivarius 3000? Вводим ключевой запрос, будь это слова из названия, будь это слова в тексте документа. И отсматриваем результаты поиска. Смотрим, где встречается все слова из нашего запроса.

При необходимости можем задействовать фильтры поиска — атрибуты в терминологии самой программы.

Как далеко уводят мечты об идеальном «поиске по файлам»

Время на прочтение
9 мин

Количество просмотров 7.5K

Часто ли вы запускаете поиск по текстовым файлам? Я — каждый день уже больше 25 лет.

Мои задачи очень разные по сложности и объему.

Во-первых, как программисту, мне, конечно, нужны поиски в кодах. Это задачи простые (наборы папок и файлов малы) и быстрые (результаты появляются почти сразу).

Во-вторых, как оператору, мне приходится искать по сотням (иногда тысячам) папок среди тысяч (иногда сотен тысяч) файлов. Это задачи тяжелые и по объемам результатов, и по времени их получения. Обычно результаты таких поисков еще требуют дальнейшей ручной или программной обработки.

Вся работа происходит в Windows.

Расскажу куда завело меня желание иметь подходящий инструмент для таких задач.

В начале был TextPad

Больше 10 лет TextPad был моим основным легким инструментом.
Тогда (до и немного после 2000) он прекрасно справлялся.

Поиск по файлам выглядел так (TextPad, 2004)

TextPad_fif

Впечатления

(+) В диалоге мало настроек, поэтому он не заслоняет содержимое файлов.
(+) Вкладка с результатами поиска имеет спец.поведение — Ввод/ДвКлик позволяют открыть найденный фрагмент. В остальном это обычный текст «в памяти» редактора.
(+) Есть настройка File counts only для поиска не самих фрагментов, а только их количества по файлам. Это заметно ускоряет предварительный поиск.
(-) В диалоге мало настроек и мало команд. Окно диалога фиксированного размера.
(-) Вычурный язык регулярных выражений, например, вместо принятого сейчас w нужно было писать [:word:].
В целом тут качественно, но скромно.


Шатания и сравнения

Ограниченность TextPad и его заморозка вели к постоянным пробам других редакторов.
Теперь уже не вспомнить все перепробованные, но среди них были:

  • MS Visual Studio. Тяжелый монстр.
  • Eclipse. Тоже монстр.
  • IntelliJ IDEA. Очаровательный. Служил и служит поставщиком примеров того, как можно сделать удобно.

    Впечатления

    Тот старый IDEA уже утерян. Для сравнения текущая реализация в PyCharm, 2017.1.3
    PyCharm_fif
    (+) Невообразимое число настроек и режимов.
    (+) Самодостаточность диалога: видны и результаты, и исходные тексты, и статистика поиска.
    (-) Нет ограничения на глубину поиска по папкам — либо одна, либо сразу все.
    (-) Нет (не знаю способа) поиска по нескольким папкам.
    (-) Нет (не знаю способа) вывода результатов в текстовом формате.

    В целом это мощно, но не универсально.

  • Notepad++. Не помню, что помешало на него перейти.
  • SublimeText3, 2013. Хакерский инструмент — отличная работа, минимум средств, но требуется много держать в голове.

    Впечатления

    Sublime_fif
    (+) Минимум контролов.
    (-) Разные настройки «где искать» все в одном поле. Нужно учитывать их взаимодействие.
    (-) Только прикрепленный диалог.
    (+) Результаты сразу попадают в текстовую вкладку, и они наглядные.
    (-) Результаты фиксированного формата: полный путь и имя файла, потом найденные в нем строки. От локализации найденных фрагментов есть только номера строк.
    (+) Есть настройка «Контекст», чтобы в Результаты попадали найденные строки вместе с соседями.


Есть такой парень

Взяв за основу принцип «Нет идеального инструмента? Создавай», изменил направление усилий.
Стал обращать внимание на отзывчивость разработчиков. И в 2012 году мне повезло с SynWrite.

Единственный разработчик, Алексей Торгашин, принимал большинство идей, делал быстро и качественно. Типичное время реализации — день-два. На форуме попросил его о доделке, потом еще об одной, потом еще о десяти, и еще… Где-то третьем десятке понял, что мы удачно встретились.

С моей подачи Алексей довел поиск по файлам до такого состояния (SynWrite, 2016)

image

Впечатления

(+) Есть извлечение папки из текущего файла Current folder.
(+) Можно сортировать файлы по дате модификации.
(+) Есть список готовых наборов для поиска preset и быстрый доступ к ним (F3).
(-) Диалог очень перегружен и занимает много места.
(-) Результаты оформлены в виде контрола дерево в нижней панели. Чтобы получить их в текстовом виде нужно вызывать команду из локального меню.


«Чего тебе надобно, старче?»

С SynWrite искать стало значительно удобнее. Как известно аппетит приходит во время еды, поэтому мои хотелки все множились. Вот только отношение к ним у разработчика, моей золотой рыбки, было все более критическим — «Почернело синее море».

Вот что хотелось получить

  1. Обязательно нужны результаты сразу в текстовом виде (для дальнейшей обработки).
  2. Результаты должны быть самодостаточными! Чтобы их можно было сохранять, закрывать, открывать — и они оставались свежими, то есть готовыми к работе.
  3. Нужен поиск в файлах на диске и в открытых (измененных) файлах.
  4. Диалог при решении простых задач должен быть компактным. В частности контролы для «замен» и редких настроек не должны мешать при обычном поиске.
  5. Обязательно нужна опция для результатов вместе с соседними строками.
  6. Обязательно нужен режим «полное описание одного результата в одной строке» (для дальнейшей обработки).
  7. Справочная информация о том, как заполнять поля, нужна не во внешнем файле или облачной странице, а прямо тут же, например, в тултипах.


Сделай сам!

Мне повезло еще раз. Алексей создал новый редактор CudaText и прикрутил к нему Python API.

Наконец-то, можно было сделать все как хочется в виде плагина на Питоне.

Первая версия вышла в мае 2016.

Минимальный набор контролов

fif-dlg-min

Максимальный набор контролов

fif-full-dlg
Это, конечно, не совсем первый блин, но желание «все запихать в пирогдиалог» явно просматривается.

Вот что я применяю сейчас

cuda_fif

Реализованы все хотелки из списка «Чего тебе».

(1) Результаты можно видеть либо внутри диалога, либо сразу выводить в файл (если [x] Send).

(2) Результаты самоописательные. В тексте

fif_rpt_info

достаточно информации, что узнать полное имя файла и место найденного фрагмента.
1:21:6 означает: 1 строка, 21 колонка, длина фрагмента 6.

Плагин умеет эту информацию извлекать и использовать.

(3) Есть поиск по несохраненным документам. Для этого в поле In folder вводится специальная строка <Open Files> (работают сокращения <Tabs> и <t>).

(4) У диалога можно скрывать контролы, нужные для задания исключенных файлов, для выполнения замен, для показа результатов и исходников.

Скрытые контролы

• Минимальный набор fif_min
• Минимальный набор и замены fif_repl
• Минимальный набор и задание исключений для файлов fif_excl

(7) В тултипах у подписей к свободно заполняемым полям есть пояснения

Подсказки

fif_incl
fif_tip_fold
Более подробная информация доступна при вызове Alt+H
fif_help_tips

Реализовано еще много разных штук.

  • Глубина обхода может быть нулевая (Only), полная (+All), либо от 1 (+1 level) до 5 (+5 levels) уровней.

  • Редко применяемые параметры поиска появляются по For search

fif_extra_fi

Доп.параметры поиска

• Можно пропускать поиск в *скрытых* и/или *двоичных* файлах.
• Можно предварительно отсортировать файлы по дате.
• Можно остановить поиск после нахождения заданного числа фрагментов и/или файлов.
![fif_first](https://user-images.githubusercontent.com/7419630/42456464-b0448f20-839d-11e8-8876-435fdfead1ad.png)
• Можно указать кодировки, которые будут применяться при попытках прочитать файлы (до первой успешной).

  • Если результаты будут появляться не внутри диалога ([x] Send), то для них есть дополнительные параметры

fif_extra_rp

Доп.параметры результатов

• `Report to` - выводить в новый таб, в последний использованный таб, в файл с конкретным именем и открыть его.
• `Append` - дополнять предыдущие результаты.
• `Tree type` - можно по разному разбивать строки 
`<path><file><r:c:l><line>`, то есть `<путь><файл><место><строка с фрагментом>`
в частности, вообще не разбивать ("Чего тебе"-6). Возможные варианты описаны в Справке
![fif_help_tree](https://user-images.githubusercontent.com/7419630/42456892-a7d867c0-839e-11e8-87f2-2b9ce6b5c530.png)
• `Align (r:c:l)` - дополнять пробелами данные из `<r:c:l>` так, чтобы все `<строки с фрагментом>` начинались с общей колонки.
Пример: ![fif_align](https://user-images.githubusercontent.com/7419630/42616450-036e3ae6-85b7-11e8-861a-cf27a3a07c7a.png)
• `Add context` - дополнять результаты соседними строками ("Чего тебе"-5).

  • Можно запоминать параметры поиска — делать пресеты. Первые пять пресетов применяются по Ctrl+1(..5), остальные — из меню или диалога Presets

    диалог Presets

    fif_pset

  • Можно запоминать место/размеры диалога/контролов — делать Layout. Первые пять Layout применяются по Alt+1(..5), остальные — из меню.

  • Почти все в диалоге можно сделать без мышки. Для этого есть

    Хоткеи

    fif_help_keys

  • Для команд есть

    Меню

    Кнопка с гамбургером — это просто «=» с подчеркиванием, поэтому она доступна по Alt+=.
    fif_menu_find

  • Процесс поиска разбит на три последовательные фазы:
    • формируется коллекция подходящих файлов,
    • из файлов извлекаются фрагменты,
    • заполняется отчет о результатах.
    Информация о каждой фазе и их смене отображается в статус-контроле.
    Esc позволяет прервать работу только текущей фазы и перейти к следующей с уже накопленными данными.

  • Кроме задаваемых пользователем обычных параметров есть много редко изменяемых опций. Сейчас их 19 и для них отдельный диалог

    диалог Options

    fif_opts
    Например, среди опций есть такие:
    • Использовать выделенный текст для заполнения поля Find what при открытии диалога.
    • Прерывать одним ESC все фазы поиска.
    • Закрывать диалог при удачном поиске и выводе результатов в файл.
    • Сворачивать предыдущие результаты при дописывании новых в тот же файл.
    • Сохранять все параметры поиска в первой строке результатов. Это позволяет позже загрузить их в диалог.
    • Пропускать файлы с размером больше заданного.
    • Задать стиль для найденных фрагментов. Доступны цвет/жирность/наклонность текста, цвет фона, стиль рамки с каждой стороны. На снимках выше установлен стиль «рамка точками под фрагментом».

  • Часть команд плагина работают до и после диалога.

cuda_menu

Из главного меню CudaText

• `Find in *` - вызывать диалог с готовыми параметрами для разных поисков.
• `Navigate to *` - прыжки из результатов в исходники, с разными размещениями места, где открыть исходник.
• `Jump to *` - прыжки к следующему/предыдущему фрагменту этого же исходника, к фрагменту в следующем исходнике, к фрагменту в следующей папке.
• `Configure *` - какой прыжок делать при двойном клике в результатах, разные прыжки при разных зажатых модификаторах
![fif_dclk](https://user-images.githubusercontent.com/7419630/42460070-aa1c5f26-83a5-11e8-9103-11f676dcf08a.png)


CudaText и Python

Несколько слов о платформе, на которой вырос мой плагин.

Алексей Торгашин сделал SynWrite на Дельфи. Половина кодов этого редактора были лицензированы у другого разработчика, и это мешало внедрению новых идей. А еще Дельфи платный. Из-за этого Алексей перешел на Free Pascal и IDE Lazarus, реализовал недостающие части самостоятельно и создал в 2015 году CudaText, а SynWrite заморозил. Возможность начать с чистого листа была использована толково — он сделал несколько сильных проектных улучшений.

  1. Настройки стали накладываться слоями: умолчание, общие, лексовые, текущего файла. Они стали храниться в json, а не в ini. Изменение настроек стало обычным редактированием текста в формате json.
  2. Ядро избавилось от огромного множества некритичных сервисов. В частности, от поиска по файлам, макросов, вызова внешних утилит, конфигуратора меню, сниппетов, сортировок, фаворитов и пр.
  3. Для создания таких сервисов ядро предоставляет Python API, в которое входит GUI библиотека. Сейчас плагинами реализованы все прежние сервисы и добавлена масса новых.
  4. Кроме того ядро само стало многомодульным. Появились компоненты маркеров, букмарков, атрибутов для скобок и пр.

Здесь хорошо видно влияние Sublime Text. Насколько я знаю, Алексей не скрывает, что учитывает идеи из Sublime и его плагинов. На Atom и Brackets он тоже поглядывает.

Получилось само по себе хорошо, а с учетом высокой продуктивности и отзывчивости Алексея — отлично. Чтобы пояснить о какой продуктивности и отзывчивости идет речь, приведу несколько фактов:

  • Алексеем создано: лексеров — 201, линтеров — 34, сниппет-наборов — 12, плагинов — 93.
  • С октября 2015 года было более 1200 пожеланий (не претензий) на ГитХабе, из которых более 90% удовлетворены.

CudaText свободный, с открытыми исходниками, есть сборки для Win/Linux/Mac/BSD. Сам я пользуюсь только Win-версией, но вижу пожелания и претензии от пользователей с Linux и Mac. На этом же Лазарусе написан, кстати, Total Commander.

Интересно сравнивать Python API у Sublime и у CudaText. Они совсем разные.

• У Sublime — объектный стиль типа DOM.

• У CudaText — процедурный стиль типа API OS, например, WIN32.

Видимо это различие происходит от языков реализации. Если редактор сам реализован на Питон, то DOM стиль API для него естественный — можно хранить ссылки на объекты. А если редактор на Паскале, то хранить он может только handler-ы.

• У Sublime API нет GUI. Плагин, видимо, может использовать Python GUI (Tk? WxPython? Qt?), но стилистика будет контрастировать с Sublime.

• CudaText предоставляет для плагинов GUI в общей стилистике приложения. Во-первых, есть богатый арсенал базовых контролов: checklistbox, listview, checklistview, treeview и, конечно, обычные кнопки, чеки, одно- и много-строчные редакторы, комбобоксы и пр. Во-вторых, есть возможность встраивать компоненты CudaText в GUI. На снимках выше это статус-контрол, локальное меню и редактор-контролы с результатами/исходниками. Такого взаимодополнения чистым Python GUI вообще не достичь.

И без GUI живут

Поскольку я уже создал десяток плагинов для CudaText, и большинство из них общались с пользователем с помощью диалоговых окон, мне теперь крайне сложно представить, как можно создавать плагины без этого богатства. Конечно, если у плагина только один диалог, который позволяет задавать настройки, то редактирование json дает адекватную замену. Но такое редактирование выполняется «до запуска» плагина, оно не может помочь, если нужна живая runtime реакция пользователя.


Есть ли предел?

Примерно раз в два-три месяца, а длится это, напомню, уже два с половиной года, мне кажется, что «это финал» — диалог вылизан, результаты показаны всеми способами, все полезные команды есть. Но поскольку этот инструмент постоянно в работе, поскольку применяются практически все его штучки, то пока руки кнопят очередной поиск или изучают очередные результаты, голова ищет новые улучшения. И находит!

Есть новые идеи

Например, за время написания этого поста родились такие:
• Можно выделить текст в контролах Результаты или Исходник и дать команду на его поиск.
• Можно перехватывать события «открыт файл» с результатами и восстанавливать стиль найденных фрагментов.

Кроме того, мне интересно понять — может ли коллективный разум подсказать новые ходы в этой игре. Поэтому завершаю вопросом к коллегам программистам:
Что еще полезного можно добавить в «поиск по файлам» внутри текстового редактора?


Технические детали реализации плагина к CudaText

• Язык: Python 3.5
• GUI библиотека: CudaText API
• Разработчики: Андрей Квичанский
• Объем кода: >300 Кб
• Число ToDo для плагина: >250
• Число bug/wish для CudaText API: >150
• Форум плагина: GitHub issues

Как попробовать

• Скачать сборку CudaText под свою ОС, распаковать или установить.
• Запустить CudaText и вызвать команду меню Plugins/Addons Manager/Install...
• Ввести «find», чтобы фильтр оставиль только FindInFile, установить (может быть потребуется перевызов CudaText, на Win не нужно).
• Вызвать команду меню Plugins/Find in Files/Find in files...

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как составить график поступлений от продаж
  • Как найти радио в raft
  • 0x80070002 код ошибки в windows 7 как исправить автоматически
  • Как найти тонну в кубические метры
  • Как найти пароль для резервной копии

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии