ugrep (ug) — консольная C++ (pcre2) утилита для поиска данных с интерактивным интерфейсом, универсальный аналог утилиты grep (universal grep).
grep (сокращение от Global Regular Expression Print) — мощная консольная утилита для организации поиска данных в текстовом файле (списке файлов) любых типов. Для поиска используется компактный алгоритм сопоставления Бойера-Мура, выдающий по образцу уникальный и предопределённый результат, в виде строк содержащих образец. Утилита является частью проекта GNU (GNU Grep).
Функционал grep обширен, её можно использовать для поиска всего, как файлов, так и строк или нескольких строк в файле. Утилита находит строки отвечающие заданному шаблону поиска, обычной строке или регулярному выражению и выводит их (если вывод не отменён специальным ключом).
ugrep является быстрой и удобной заменой GNU/BSD grep, совместим со стандартными параметрами командной строки grep, имеет статичный и интерактивный интерфейс запросов для вывода шаблонов поиска (interactive query UI). Утилитой используются сверхбыстрые алгоритмы сопоставления, работающие намного быстрее и эффективнее чем используются grep и другими утилитами аналогичного назначения (ripgrep, silver searcher, hyperscan и пр).
ugrep поддерживает поиск и параллельное сканирование файлов в многопоточном режиме, с использованием высокопроизводительного алгоритма очерёдности заданий исключающего блокировки. Для эффективного параллельного поиска используется оптимизированный асинхронный ввод-вывод и сопоставление с образцом (AVX, SSE2, ARM NEON/AArch64).
Для ускорения поиска можно задать тип файла или часть имени файла, поддерживается нечёткий поиск, поиск с использованием фильтров, поиск по нескольким шаблонам, есть возможность использовать "исключающие шаблоны", есть набор готовых шаблонов (для XML, JSON, HTML и пр). Поддерживается поиск в документах большинства существующих текстовых форматов (pdf, doc, docx, xls, xlxs и пр), в обычных (cpio, jar, tar, pax, zip) и сжатых архивах (zip, gz, z, bz, bz2, lzma, xz). Есть возможность поиска в двоичных файлах с отображением в шестнадцатеричном формате (hexdumps).
ugrep может сортировать одинаковые файлов по имени, размеру и времени создания, можно вывести результаты в CSV, JSON, XML файл, или файл собственного формата. Поиск "по умолчанию" осуществляется в кодировке UTF8, шаблоны поддерживают Юникод (Unicode), может осуществляться поиск в других кодировках (ISO-8859-1 до 16, CP 437, CP 850, MAC, KOI8 и пр), можно исключить список файлов из поиска (.gitignore). По использованию утилиты имеется комплексное практическое руководство для начинающих и продвинутых пользователей.
Лицензия: BSD 3-Clause License
Комментариев: 1 RSS
1Иван03-06-2020 00:28
Вроде крутая штука! Собрал, буду смотреть как чего.
Вы можете войти под своим логином или зарегистрироваться на сайте.