carve
is a terminal-focused tool for interactively searching and exploring text files and logs. It provides a user-friendly interface for real-time text analysis with features like live tailing, searching, and filtering.
Note: This project is currently experimental. It only supports Unix-like systems and it's performance may be underwhelming on anything but trivial log sizes at this time. Please report any issues or bugs on GitHub: https://github.com/deej-io/carve
- Interactive TUI Terminal User Interface
- Real-time file tailing
- Live search with match highlighting
- Filter expressions
- Multiple operation modes:
- Normal mode: Manual scrolling and navigation
- Search mode: Interactive text search
- Filter mode: Apply filters to displayed content
To install carve
, you'll need Rust and Cargo installed on your system. Then run:
cargo install carve
Or build from source:
git clone https://github.com/deej-io/carve
cd carve
cargo build --release
Basic usage:
# Pipe command output into carve, interactively searching and filtering it before storing the result
node serve.js | carve > filtered-log.txt
-
Normal Mode:
- Arrow keys / j/k: Scroll up/down
/
: Enter filter modef
: Enter searc modeq
: Quit
-
Search Mode:
- Enter: Execute search
n
: Next matchN
: Previous match- Esc: Return to normal mode
-
Filter Mode:
- Enter: Apply filter
- Esc: Return to normal mode
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
Daniel J Rollins [email protected]
Contributions are welcome! Please feel free to submit a Pull Request.