Linux -- это интересно

ugrep (universal grep)


Рубрика: Прочие -> Системные утилиты
Метки: | | | | |
Просмотров: 279

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

Вроде крутая штука! Собрал, буду смотреть как чего.

Оставьте комментарий!
Используйте нормальные имена.Войти через loginza
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



 
(обязательно)