A multi-threaded GUI application for recursively searching text in files with advanced filtering and real-time progress tracking.
- Multi-threaded Search: Configurable thread count (1-16) for fast searching
- GUI Interface: Easy-to-use tkinter-based interface
- File Type Filtering: Filter by file extensions organized into ecosystems:
- Programming (py, js, java, c, cpp, etc.)
- Web (html, css, php, etc.)
- Data/Config (json, xml, yaml, ini, etc.)
- Documents (txt, md, pdf, doc, etc.)
- Scripts (sh, bash, ps1, bat, etc.)
- Images (png, jpg, gif, svg, etc.)
- Video (mp4, avi, mkv, etc.)
- Audio (mp3, wav, flac, etc.)
- Archives (zip, tar, gz, etc.)
- Markup (xml, html, md, etc.)
- ASCII/Binary Toggle: Search ASCII files, binary files, or both
- Context Display: Show 1-20 lines of context around matches
- Case Sensitivity: Optional case-sensitive searching
- Clickable Results: Click file paths to open containing folder
- Progress Tracking: Real-time progress with spinner, percentage, and statistics
- Settings Persistence: Remembers your last search settings
- Search Statistics:
- Files scanned vs total files
- Files omitted by filters
- Number of matches and files with matches
- Search time elapsed
- Python 3
- tkinter (usually included with Python)
python3 st_search.pychmod +x st-search.sh
./st-search.shsudo cp st-search.sh /usr/local/bin/st-search
# Then run from anywhere:
st-search- Select Folder: Click "Browse" to choose the top-level folder to search
- Enter Search Text: Type the text you want to find
- Configure Options:
- Select file types to include (checkboxes organized by ecosystem)
- Choose ASCII/Binary file options
- Set number of context lines (1-20)
- Enable/disable case-sensitive search
- Adjust thread count for performance (1-16)
- Search: Click the "Search" button
- View Results:
- Click any file path to open its containing folder
- Use right-click context menus to copy text
- Review search statistics at the bottom
st_search.py- Main applicationst-search.sh- Launcher scriptsnapcraft.yaml- Snap package configuration (experimental)
Developed by Solutions Today LLC and Arizona Software Development Company
If you find this tool useful, consider supporting development:
Copyright (c) 2025 Solutions Today LLC / Arizona Software Development Company