Skip to content

auth-xyz/chunky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typing SVG


Note

This project has nothing to do with Chunky (the rendering tool)


Overview

Chunky is a terminal-based file viewer designed for navigating massive log files without freezing your system.
It breaks files into manageable chunks and provides an interactive interface for efficient browsing, searching, and navigation.


Why Chunky?

Problem Solution
Opening giant log files crashes your editor Chunky loads files in chunks, keeping memory usage minimal
Can't navigate large outputs effectively Interactive navigation with search, jump-to-line, and regex support
Need to process stdin streams Full stdin support with piping

Features

  • 📦 Chunked Loading — Process files in configurable line chunks (default: 1000 lines)
  • 🔍 Regex Search — Find patterns across your entire file
  • ⚡ Lightweight — Minimal CPU and memory footprint
  • ⌨️ Vi-style Navigation — Familiar keybindings for power users
  • 📊 Stdin Support — Works seamlessly with pipes and command output

Structure

.
├── src/           # Source code
├── Makefile       # Build configuration
└── README.md      # This file

Installation

Dependencies

Install ncurses for your platform:

# Arch Linux
sudo pacman -S ncurses

# Ubuntu/Debian
sudo apt install libncurses-dev

# Fedora
sudo dnf install ncurses-devel

# macOS
brew install ncurses

Build & Install

git clone https://github.com/auth-xyz/chunky.git
cd chunky/
make && sudo make install

Usage

Usage: chunky [OPTIONS]

Options:
  -f, --file FILE       Read from file instead of stdin
  -c, --chunk-size N    Lines per chunk (default: 1000)
  -h, --help            Show this help message

Controls:
  q          Quit
  ← →        Previous/Next chunk
  ↑ ↓ j k    Scroll up/down
  PgUp/PgDn  Page up/down
  Space/b    Page down/up
  /          Search (regex)
  n          Find next match
  ?          Jump to chunk number
  g          Go to line number

Examples

View a large file:

chunky --file /var/log/syslog
chunky -f application.log -c 500

Pipe command output:

cat largefile.txt | chunky
journalctl | chunky
docker logs container_name | chunky

Search within a log:

chunky -f debug.log
# Press '/' and enter your regex pattern
# Press 'n' to jump to next match

Contributing

Found a bug? Have a feature request? Want to improve the code?

  • Discord: @actually.auth
  • Issues: Open an issue
  • Pull Requests: Always welcome

License

Licensed under the MIT License.
You are free to use, modify, and redistribute this software.


Built with ☕ for dealing with massive log files

About

divides files into chunks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published