Terminal CSV file viewer with vim-like navigation, filtering, searching, and column manipulation capabilities
csvlens is a terminal-based CSV file viewer that provides spreadsheet-like functionality in a command-line interface. It accepts CSV files as arguments or reads from stdin, making it suitable for examining CSV data produced by other command-line tools.
The tool offers vim-style navigation with hjkl keys and extensive manipulation capabilities including regex-based filtering of rows and columns, searching with highlighting, sorting by columns with natural ordering support, and cell selection modes. Users can freeze columns, adjust column widths, copy data to clipboard, and mark specific rows for export. It supports custom delimiters including auto-detection, handles files without headers, and provides filtering options that can be applied at startup.
Developers, data analysts, and system administrators working with CSV data in terminal environments would find csvlens particularly useful for inspecting large datasets, debugging data pipelines, or quickly exploring CSV files without loading them into heavyweight applications. The tool also functions as a Rust library, allowing integration into other applications that need interactive CSV viewing capabilities.
# via Homebrew
brew install csvlens
# via Arch Linux
pacman -S csvlens
# via Cargo
cargo install csvlens
