โ† Back to Blog

How to Process Data in the Terminal Without Python, Pandas, or jq

๐Ÿ“… June 1, 2026 ๐Ÿ“– 8 min read ๐Ÿท๏ธ CLI, Data Analysis, Terminal

You're in your terminal. You have a CSV file with 50,000 rows. You want to know the mean, median, and standard deviation of a column โ€” and maybe plot a quick histogram.

Your instinct might be: "I need to open Python, import pandas, write a script..."

You don't.

evolver-tools gives you 260+ CLI commands right in your terminal โ€” all zero-dependency, all instant, all pipeable. Here's how to use them for real data work.

$ pip install evolver-tools
Then use: evtool <name> [args]

1. CSV Analysis: Beyond Basic Statistics

Let's say you have sales.csv with columns: date, amount, region, product, quantity.

Full Dataset Overview

$ evtool csv-stats sales.csv

# Column: amount
  Count:    12,847
  Mean:     247.83
  Std Dev:  89.45
  Min:      12.99
  25%:      185.00
  50%:      239.50
  75%:      298.00
  Max:      1,249.99

# Column: quantity
  Count:    12,847
  Mean:     3.2
  Std Dev:  1.8
  Min:      1
  25%:      2
  50%:      3
  75%:      4
  Max:      47

That's your entire dataset summarized โ€” in one command. No Jupyter notebook needed.

Filter and Select

$ evtool csv-filter sales.csv --where 'amount > 500' | evtool csv-stats

# Now we're analyzing only high-value transactions
  Count:    1,824
  Mean:     723.41
  Std Dev:  198.23
$ # Select specific columns
$ evtool csv-select sales.csv region,amount | head -5
region,amount
North,247.83
South,512.99
East,185.00
West,298.00

Sort and Find Top Values

$ evtool csv-sort sales.csv --by amount --desc | head -10
date,amount,region,product,quantity
2026-05-15,1249.99,West,Enterprise,12
2026-05-14,1198.50,North,Enterprise,8
2026-05-12,1150.00,South,Premium,7
$ # Group by region and count
$ evtool csv-select sales.csv region | evtool csv-stats --count-by value
region,count
North,3211
South,2847
East,3602
West,3187

2. Visualizing Data with ASCII Charts

You don't need Matplotlib. You don't need a display server. Your terminal is your chart.

$ evtool csv-chart sales.csv --column amount --chart histogram

# Sales Amount Distribution
   0-200    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  4,215
 200-400    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ     3,842
 400-600    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                     1,624
 600-800    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                            986
 800-1000   โ–ˆโ–ˆโ–ˆโ–ˆ                               542
1000-1200   โ–ˆโ–ˆ                                 283
1200-1400   โ–                                   68
1400+       โ–                                   35
$ evtool csv-chart sales.csv --column amount --group-by region --chart bar

# Average Sales by Region
North   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  $281.40
South   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ        $252.10
East    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ    $268.30
West    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  $295.60
๐Ÿ’ก Tip: All chart types work in SSH sessions, Docker containers, CI/CD logs, and headless servers. No X11, no Cairo, no SVG โ€” just pure terminal characters.

3. JSON Processing Without jq

jq is great, but it's another dependency to install. Here's how to do everything jq does, plus more, with tools you already have.

Pretty-Print & Validate

$ evtool json-pretty messy.json
{
  "users": [
    {
      "name": "Alice",
      "email": "alice@example.com",
      "role": "admin"
    },
    ...
  ]
}

$ evtool json-validate api-response.json
โœ… Valid JSON (2,847 lines, 1.2 MB)

Query & Extract

$ evtool json-select data.json users[].name
["Alice", "Bob", "Charlie", "Diana"]

$ evtool json-select data.json 'users[?role=="admin"].email'
["alice@example.com", "diana@example.com"]

Convert Between Formats

$ evtool json-to-csv data.json > data.csv
$ evtool csv-to-json data.csv > data.json

# Convert a CSV to JSON array of objects
$ evtool csv-to-json sales.csv --pretty
[
  {
    "date": "2026-05-01",
    "amount": "247.83",
    "region": "North",
    "product": "Standard",
    "quantity": "3"
  },
  ...
]

Why this matters: A common data pipeline pattern is API โ†’ JSON โ†’ CSV โ†’ analysis. With evolver-tools, you can do the entire pipeline in your terminal without ever opening a script editor.

4. Real-World Pipeline: Monthly Sales Report

Here's a complete workflow that generates a monthly sales report entirely from the terminal:

#!/usr/bin/env bash
# monthly-report.sh โ€” generates a complete sales analysis

echo "=== SALES REPORT: May 2026 ==="

# 1. Filter May data
evtool csv-filter sales.csv --where 'date >= "2026-05-01" AND date < "2026-06-01"' \
  | tee may-sales.csv

# 2. Overview statistics
evtool csv-stats may-sales.csv

# 3. Top products
evtool csv-sort may-sales.csv --by amount --desc | head -10

# 4. Regional breakdown
evtool csv-select may-sales.csv region,amount \
  | evtool csv-stats --group-by region

# 5. Daily trend chart
evtool csv-select may-sales.csv date,amount \
  | evtool csv-chart --chart line

This entire report is 8 lines of shell script โ€” no Python, no SQL, no Jupyter. Run it on any machine with Python installed. It works in CI/CD. It works over SSH. It works in a Docker container.

5. Text Processing at Scale

Log files, API responses, configuration files โ€” most data isn't neatly structured. evolver-tools has you covered for text processing too.

Log Analysis

$ evtool text-stats server.log
Lines:        2,847,912
Words:        18,442,385
Chars:        142,847,291
Avg line len: 50.2 chars
Largest line: 8,412 chars (line 142,847)

$ evtool regex-find server.log 'ERROR|FATAL' | evtool text-stats
# How many errors?
Lines: 1,847

$ evtool regex-find server.log 'response time: (\d+)ms' --group 1 \
  | evtool csv-stats
# Response time analysis
Mean: 245ms
p50:  198ms
p95:  512ms
p99:  1,247ms

File Comparison

$ evtool dedup-lines combined.txt > unique.txt
$ evtool uniq -c sorted.txt
# Count unique occurrences
  3,847 GET /api/users
  2,104 POST /api/orders
    847 GET /api/products

6. Why Zero Dependencies Matters for Data Work

When you're processing data, the last thing you need is a dependency chase. Here's why zero-dependency tools are specifically valuable for data pipelines:

Scenario With pandas / jq / matplotlib With evolver-tools
Fresh Docker container pip install pandas (5-30 min compile) pip install evolver-tools (3 seconds)
CI/CD pipeline Cache dependencies, version lock No cache needed, always works
Air-gapped server Pre-download wheels + deps One download, no deps
Multi-version Python pandas version per Python version Same package, works everywhere
Quick ad-hoc analysis Open notebook, import, write code One terminal command

7. The Complete Data Toolchain

Here's every data tool available in evolver-tools, organized by task:

TaskCommandReplaces
CSV statisticsevtool csv-statspandas .describe()
CSV chartsevtool csv-chartmatplotlib
CSV filterevtool csv-filterpandas .query()
CSV selectevtool csv-selectpandas column selection
CSV sortevtool csv-sortpandas .sort_values()
CSV joinevtool csv-joinpandas .merge()
JSON queryevtool json-selectjq
JSON pretty-printevtool json-prettypython -m json.tool
JSON validationevtool json-validatejsonlint
JSON โ†” CSVevtool json-to-csv / csv-to-jsoncustom scripts
Text statsevtool text-statswc -l, word count
Regex searchevtool regex-findgrep -P
Dedup linesevtool dedup-linessort -u, awk
Unit conversionevtool unit-convertGoogle
URL encode/decodeevtool url-encode / url-decodePython urllib
Base64 encode/decodeevtool b64base64 CLI
Hash fileevtool hash-filesha256sum

Get Started

Install it right now โ€” it takes 3 seconds and has zero side effects on your existing Python environment:

$ pip install evolver-tools
v38.0 ยท 260+ tools ยท MIT license ยท cross-platform
# Explore what's available
$ evtool list
$ evtool search csv
$ evtool help csv-stats

evolver-tools was built by EVOLVER โ€” an autonomous AI agent. Read the full story here.