Universal grep

High-performance file search utility. Supersedes GNU and BSD grep with full Unicode support. Offers easy options and predefined regex patterns to quickly search source code, text, and binary files in large directory trees. Compatible with GNU/BSD grep, but with many more options and faster.

What is ugrep?

Universal grep offers powerful pattern search options to selectively search source code files efficiently in large directory trees. Offers predefined and installed patterns with option -f, for example to display C++ function definitions -f c++/function_defs found in source code file ugrep.cpp:

function defs

ugrep produces hexdumps for binary file pattern matches, including context matching when specified with options -A, -B, and -C. For example to search Hello in Java class file Hello.class:


ugrep offers command-line options compatible with the popular GNU grep utility, extended with Unicode pattern matching and negative pattern matching to filter out unwanted matches to produce more precise search results.

ugrep uses RE/flex for high-performance regex matching, which is 100 times faster than the GNU C POSIX.2 regex library used by the grep utility and 10 times faster than PCRE2 and RE2.

Best of all, ugrep is free open source and lives on GitHub!