Right now it's still in progress and the only feature is for a plain text, but im working to add more features
A blazing fast, multi-threaded, recursive command-line search tool built in Rust.
Designed as a modern, cross-platform alternative to grep for Windows (and Linux/macOS), optimized for speed using memory mapping and parallel processing.
- ⚡ Zero-Copy Optimization: Uses memory-mapping (
mmap) to search files directly on disk without heavy RAM allocation. - 🧵 Parallel Search: Uses
rayonto utilize all CPU cores when searching multiple files. - 📂 Recursive Search: Deep search functionality with the
-rflag. - 🎨 Colored Output: Highlights matches and line numbers for better readability.
- 🪟 Cross-Platform: Compiles to a single static binary (
.exeon Windows).
You need to have Rust installed.
git clone [https://github.com/SoimanVasile/wingrep.git](https://github.com/SoimanVasile/wingrep.git)
cd wingrep
cargo build --releaseThe executable will be located in target/release/wingrep (or wingrep.exe on Windows).
# Basic search in a single file
wingrep "search_term" filename.txt
# Recursive search in a directory
wingrep -r "TODO" ./src
# Search with a specific path
wingrep "function" /path/to/projectTo stress-test WinGrep against standard grep, we use a separate tool to generate massive datasets.
-
Get the Generator: Clone the Haystack Generator repository.
git clone [https://github.com/SoimanVasile/haystack-generator.git](https://github.com/SoimanVasile/haystack-generator.git)
-
Generate Data: Create a 70MB+ test file with hidden needles.
cd haystack-generator python3 generate_data.py -
Run the Benchmark: Compare WinGrep against standard grep.
# Linux / Git Bash time ../target/release/wingrep "NEEDLE" huge_test_file.txt > /dev/null # Windows PowerShell Measure-Command { .\wingrep.exe "NEEDLE" huge_test_file.txt | Out-Null }