ugrep (ug) — console C++ (pcre2) utility to search for data with an interactive interface, a universal analogue of the utility grep (grep universal).
grep (short for Global Regular Expression Print) is a powerful console utility for searching data in a text file (the file list) of any type. Search for used compact matching algorithm Boyer-Moore, outstanding pattern, unique and predefined outcome, in the form of strings containing the sample. Utility is part of the project GNU (GNU Grep).
The functionality of grep is extensive, it can be used to search just as files and rows, or multiple rows in the file. The utility finds the string meets the specified search pattern, ordinary string or regular expression and prints them (if the output is not canceled with a special key).
ugrep is a quick and handy replacement for the GNU/BSD grep, compatible with the standard command-line options, grephas static and interactive query interface to display the search templates (interactive query UI). The utility uses ultra-fast matching algorithms working faster and more efficiently than use grep and other tools of similar purpose (ripgrep, silver searcher, hyperscan, etc).
ugrep supports search and parallel scanning of files in multithreaded mode, using a high performance algorithm for sequencing of tasks an exclusive lock. For efficient parallel search uses the optimized asynchronous I / o and pattern matching (AVX, SSE2, NEON ARM/AArch64).
To speed up the search you can specify the file type or part file name, supports fuzzy search, search using filters, search for multiple templates, it is possible to use the “exclude patterns“, a set of ready-made templates (for XML, JSON, HTML, etc). Search is also supported in the documents of the majority of existing text formats (pdf, doc, docx, xls, xlxs, etc), in normal (cpio, jar, tar, pax, zip) and compressed archives (zip, gz, z, bz, bz2, lzma, xz). It is possible to search in the binary file shown in hexadecimal format (hexdumps).
ugrep can sort duplicate files by name, size and time of creation, you can output the results in CSV, JSON, XML file, or private file format. Search “default” is encoded in UTF8, templates support Unicode (Unicode), can search in other encodings (ISO-8859-1 to 16, CP 437, CP 850, MAC, KOI8, etc.), you can exclude a list of files from a search (.gitignore). By using this utility, a comprehensive practical guide for beginners and advanced users.
License: BSD 3-Clause License