A fast cross-platform file search utility written in rust.
Omega is a high-performance command-line utility designed for searching files and directories across your filesystem. It offers parallel processing, fuzzy matching, content search capabilities, and flexible filtering options.
git clone https://github.com/naseridev/omega.gitcd omega
cargo build --release
The compiled binary will be available at target/release/omega.
sudo cp target/release/omega /usr/local/bin/Add the directory containing omega.exe to your system PATH environment variable.
Search for files and directories matching a pattern:
omega patternSearch in a specific directory:
omega pattern -p /path/to/directorySearch with multiple patterns:
omega pattern1 pattern2 pattern3omega pattern [patterns...]One or more search patterns are required. Omega will match any file or directory containing any of the specified patterns.
-p, --path <PATH>
Specify one or more directories to search. Can be used multiple times. If not specified, Omega searches all available drives on Windows or root directory on Unix systems.
omega pattern -p /home/user -p /var/log-l, --limit-found <NUMBER>
Stop searching after finding the specified number of matches.
omega pattern -l 100-s, --limit-scanned <NUMBER>
Stop searching after scanning the specified number of items.
omega pattern -s 10000-t, --threads <NUMBER>
Set the number of threads to use for parallel processing. Auto-detected if not specified.
omega pattern -t 8-d, --max-depth <NUMBER>
Limit the search depth in directory tree.
omega pattern -d 3-i, --case-insensitive
Perform case-insensitive pattern matching.
omega Pattern -i-f, --files-only
Search only files, exclude directories.
omega pattern -f-D, --dirs-only
Search only directories, exclude files.
omega pattern -D-z, --fuzzy
Enable fuzzy matching using Levenshtein distance algorithm.
omega patern -z-T, --fuzzy-threshold <NUMBER>
Set the fuzzy matching distance threshold (default: 2).
omega patern -z -T 3-c, --content-search
Search inside file contents in addition to filenames.
omega "function main" -c--max-content-size <BYTES>
Maximum file size for content search in bytes (default: 10485760 = 10MB).
omega pattern -c --max-content-size 5242880--api
Output results in CSV format for programmatic use.
omega pattern --api > results.csvCSV columns: path, name, is_dir, is_file, size, size_human, modified, modified_human, is_hidden, extension, permissions
-e, --hide-errors
Suppress error messages in the summary.
omega pattern -eSearch for all files containing "config":
omega configSearch for multiple patterns:
omega .txt .md .rstCase-insensitive search:
omega readme -iFind only directories named "src":
omega src -DFind only files with "test" in name:
omega test -fSearch up to 3 levels deep:
omega pattern -d 3Search for files containing specific text:
omega "TODO" -cSearch content in small files only:
omega "import" -c --max-content-size 1048576Find files with approximate matches:
omega dokument -zAdjust fuzzy matching sensitivity:
omega dokument -z -T 1Limit results for faster searches:
omega pattern -l 50Use specific number of threads:
omega pattern -t 16Export results to CSV:
omega pattern --api > results.csvFilter CSV results with other tools:
omega pattern --api | grep ".rs"Prints the full path of each matching file or directory:
/home/user/documents/file.txt
/home/user/projects/src/main.rs
Outputs CSV format with detailed file information:
path,name,is_dir,is_file,size,size_human,modified,modified_human,is_hidden,extension,permissions
/home/user/file.txt,file.txt,false,true,1024,1.00 KB,1701936000,2023-12-07T12:00:00Z,false,txt,rw-r--r--
After search completion, a summary is displayed:
42 found | 1523 scanned
3 errors occurred
Errors are logged to omega.log in the current directory. Common errors include:
- Permission denied when accessing protected directories
- Symbolic link loops
- Invalid file metadata
Use -e flag to hide error count in summary.
- Searching entire filesystems can be slow on the first run due to cold cache
- Use
-pto limit search scope for better performance - Adjust thread count with
-tbased on your CPU cores - Use
-lor-sto stop early when you have enough results - Content search is slower; use size limits with
--max-content-size
Omega is cross-platform and supports:
- Linux
- macOS
- Windows
Platform-specific features:
- Hidden file detection uses dot-prefix on Unix, file attributes on Windows
- Permissions are formatted as Unix-style on Unix systems, simplified on Windows
- Default search paths are all drives (C:\ to Z:) on Windows, root (/) on Unix
- 0: Success
- 1: Error (invalid arguments, no search paths, fatal search error)
For detailed technical documentation, architecture details, and development guide, see the Wiki.
This project is open source. See LICENSE file for details.
Nima Naseri