ugrep is a file and text search utility designed for fast pattern matching across large collections of files. It combines compatibility with familiar grep commands with additional search capabilities and an interactive terminal interface.
The program is suitable for searching source code, system logs, documents and other text-based information. It supports multiple regular expression modes and can work with files containing different Unicode encodings.
Unlike conventional grep utilities, ugrep can search inside compressed archives and use external filters to extract searchable content from document formats. This reduces the need to unpack archives or manually convert documents before searching them.
Its interactive query interface lets users refine searches while exploring matching files and directories. Administrators and developers can also use ugrep in scripts where structured output or compatibility with existing grep workflows is important.
This is free and open source software.
Key Features
- Supports GNU and BSD grep command-line options, including basic and extended regular expressions.
- Searches UTF-8, UTF-16 and UTF-32 encoded files with Unicode-aware pattern matching.
- Matches patterns spanning multiple lines, including newline-aware regular expressions.
- Interactive terminal interface for entering queries and exploring matching files.
- Supports Boolean searches combining AND, OR and NOT conditions.
- Provides fuzzy matching for finding approximate text patterns with configurable edit distances.
- Searches compressed files and archive formats including ZIP, TAR, 7z, Gzip, Bzip2, XZ and Zstandard.
- Supports nested archive searches without requiring files to be extracted manually.
- Searches PDF documents, office documents, ebooks and image metadata using external conversion filters.
- Examines binary files and displays matching data in hexadecimal format.
- Filters searches by filename extension, file type, magic bytes and directory patterns.
- Supports Gitignore-style exclusion rules and configurable handling of hidden files.
- Provides customisable configuration files for establishing preferred search behaviour.
- Exports search results in JSON, XML, CSV and custom output formats.
- Supports indexed searching to improve performance when repeatedly searching large or slow storage systems.
- Includes detailed contextual help for searching and configuring the program.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/Genivia/ugrep
Support:
Developer: Robert van Engelen
License: BSD 3-Clause ‘New’ or ‘Revised’ License


ugrep is written in C++. Learn C++ with our recommended free books and free tutorials.
| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.