TL;DR — Quick Summary
xsv is a fast CSV toolkit. Search, slice, join, sort, stats, frequency — all from the command line. Like pandas for your terminal, powered by Rust.
xsv makes CSV powerful. Search, slice, join, stats — all from your terminal, fast enough for gigabyte files.
Installation
# macOS
brew install xsv
# Arch Linux
sudo pacman -S xsv
# Cargo
cargo install xsv
Usage
# Preview
xsv headers data.csv # Column names
xsv count data.csv # Row count
xsv table data.csv | head # Pretty-printed table
# Select columns
xsv select name,email data.csv
xsv select 1,3,5 data.csv # By index
xsv select '!password' data.csv # Exclude column
# Search
xsv search 'error' data.csv
xsv search -s status 'active' data.csv # In specific column
# Sort
xsv sort -s revenue data.csv # Sort by column
xsv sort -s date -R data.csv # Reverse sort
# Statistics
xsv stats data.csv # Min, max, mean, stddev
xsv frequency -s category data.csv # Value counts
# Join
xsv join id users.csv user_id orders.csv
# Sample and split
xsv sample 100 data.csv # Random 100 rows
xsv split -s 1000 output/ data.csv # Split into chunks
# Index (speeds up operations)
xsv index data.csv
# Filter
xsv search -s age '^[3-4]' data.csv # Regex filter
# Pipeline
xsv select name,revenue data.csv | xsv sort -s revenue -R | head -20
Summary
- xsv is a fast CSV toolkit: search, select, sort, join, stats, frequency
- Handles multi-GB files via streaming — no memory limits
- Index files for instant column access and random sampling
- Pipeline commands together for complex data workflows
- Written in Rust — single binary, no dependencies