100 common command-line tasks, solved with pip install evolver-tools. Zero dependencies, cross-platform.
$ pip install evolver-tools
$ evtool --help # 262 tools ready
$ echo '{"name":"cli","ver":2}' | json-pretty$ cat data.json | jsonql '.[].name'$ json-validate config.json$ json2yaml data.json$ json2csv data.json > output.csv$ json2toml data.json$ json-diff old.json new.json$ merge-json base.json patch.json$ csv-view data.csv$ csv-filter data.csv --column age --gt 18$ csv-pretty data.csv$ csv-sort data.csv --column name$ csv-stats data.csv$ csv-dedup data.csv > clean.csv$ csv-concat a.csv b.csv > merged.csv$ csv-validate data.csv$ echo "hello_world" | case-convert --camel$ wordcount report.txt$ ansi-strip < colored_output.txt$ diff-lines old.txt new.txt$ diff-yaml config1.yaml config2.yaml$ markdown-to-html README.md$ html2markdown page.html$ html-strip page.html$ echo "hello" | b64
$ echo "aGVsbG8=" | b64 -d$ echo "hello" | base32
$ echo "hello" | base58$ hexdump binary.bin$ hashsum file.iso
$ hashsum --sha512 file.iso$ crc_check large-file.bin$ jwt-decode "eyJhbGciOi..."$ url-encode "hello world"
$ url-decode "hello%20world"$ morse "SOS"$ cert-check example.com$ dns-lookup example.com$ whois example.com$ geo-ip 8.8.8.8$ scan-ports example.com --ports 22,80,443$ route-trace example.com$ subnet 192.168.1.0/24$ siege-lite https://api.example.com -c 10$ find-large /home --top 10$ dedup-files /home/user$ dirsize /home/user$ tree /home/user --depth 2$ ren "*.txt" --replace "old" "new"$ batch-rename "*.jpg" --prefix "vac_"$ backup /home/user --rotation 7$ chmod-calc 755$ sysmon$ disk-usage$ net-speed$ audit-log --since "24h"$ disk-cleanup --dry-run$ smellfinder src/$ dev-dashboard$ service-check --list$ epoch 1717200000
$ epoch now$ date_diff 2024-01-01 2024-12-31$ cal 2025 6$ chrono --from 2024-01-01 --add 45d$ cron-pretty "*/15 * * * *"$ countdown 5m$ stopwatch$ cron --list$ json2yaml data.json
$ yaml2json config.yaml$ json2toml data.json
$ toml2json config.toml$ json2csv data.json
$ csv2json data.csv$ yaml2toml config.yaml
$ toml2yaml config.toml$ ini2json settings.ini$ markdown-to-html README.md
$ html2markdown page.html$ color-convert "#ff6600"
$ color-convert "rgb(255,102,0)"$ unit-convert temp 25 C F$ code-auditor src/$ config-vault --scan .env$ cert-info example.com$ otp-generator "JBSWY3DPEHPK3PXP"$ envcheck .env.template .env$ config-validator --strict config.yaml$ checksum-dir --verify sha256sums.txt$ crypto-box encrypt secret.txt$ changelog-gen --from v1.0.0$ code-review src/$ code-stats /path/to/project$ dep-graph src/ --format ascii$ sqlite-cli my.db$ docker-helper ps$ project-doctor /path/to/project$ env-sorter .env > .env.sorted$ chart-cli --type bar data.csv -c value$ banner-gen "Hello" --font block$ cowsay "Hello, World!"$ colors$ echo "Hello" | colorize --red$ script-output | ansi-to-html > out.html$ qr "https://example.com"$ emoji-cli search rocket$ evtool search json$ nb add "kubectl apply -f deploy.yaml"
$ nb search deploy$ clipboard copy "text"
$ clipboard paste$ bookmark add https://example.com
$ bookmark search docs$ random password 16$ long-cmd | progress-bar$ evtool stats$ ls | fzf-launch$ gen-password --length 20 --symbols$ lorem-ipsum --paragraphs 3$ uuid-gen --count 5$ palette "#3498db" --scheme complementary$ gen-data --rows 100 --format csv$ ascii-gen "EVOLVER"$ dice-roll 2d20$ crypto-price BTC ETH$ pip install evolver-tools
$ evtool search csv # find all CSV tools
$ evtool stats # see all categories