Sheets: otevřený nástroj pro práci s tabulkami v terminálu na Go
Sheets je multiplatformní projekt napsaný v Go pro práci s elektronickými tabulkami přímo v terminálu. Vývojář Maas Lalani zveřejnil zdrojový kód na GitHubu pod licencí MIT. Nástroj je určen pro vývojáře, kteří preferují CLI řešení bez grafického rozhraní. Binárky jsou dostupné pro Windows, macOS a Linux, což zajišťuje univerzálnost v různých vývojových prostředích.
Projekt řeší zpracování tabulkových dat v textovém režimu a integruje se se shell skripty a automatizací úkolů. Uživatelé mohou provádět operace editace, filtrování a výpočtů bez nutnosti spouštění prohlížeče nebo desktopových aplikací.
Hlavní možnosti
Sheets poskytuje funkce podobné tradičním spreadsheet aplikacím, ale přizpůsobené pro terminál:
- Editace buněk: Navigace tabulkou pomocí klávesnicích, zadávání a změna hodnot.
- Formuly a výpočty: Podpora základních matematických operací a funkcí.
- Import/export: Práce s CSV, TSV a dalšími textovými formáty.
- Filtrování a řazení: Rychlé hledání a seřazování dat.
- Vizualizace: Barevné kódování a formátování pro lepší čitelnost v terminálu.
Rozhraní využívá plnoobrazovkové TUI (Text User Interface), postavené na knihovně tview nebo podobné pro Go. To umožňuje efektivní správu velkých tabulek bez ztráty výkonu.
Instalace a spuštění
Pro zahájení stáhněte hotovou binárku z GitHub releasů nebo sestavte ze zdroje:
go install github.com/mjl-/sheets@latest
Po instalaci spusťte:
sheets file.csv
Projekt vyžaduje Go 1.21+ pro kompilaci. Závislosti jsou minimální, což usnadňuje nasazení v kontejnerech nebo CI/CD pipech.
Použití ve vývoji
Sheets se integruje do DevOps praktik:
- Zpracování logů v reálném čase.
- Analýza metrik z monitoringu (Prometheus, Grafana export).
- Generování zpráv ve skriptech.
- ETL procesy pro data z databází (SQLite, PostgreSQL via csvdump).
Příklad: parsování JSON logů do tabulky pro analýzu chyb.
# Příklad skriptu
sheets -i logs.json -o analysis.tsv | sheets --sort column2
To je obzvláště užitečné pro senior vývojáře pracující v headless prostředích nebo na serverech bez GUI.
Srovnání s alternativami
| Nástroj | Platformy | Licence | TUI | Formuly |
|-----------|---------------|---------|-----|-----------|
| Sheets | Win/Mac/Linux | MIT | Ano | Ano |
| visidata | *nix | GPL | Ano | Částečně |
| csvkit | *nix | MIT | Ne | Ne |
Sheets vyniká plnou multiplatformností a podporou formúl v terminálu.
Co je důležité
- Otevřený kód v Go: Snadno rozšiřitelný a upravitelný pro vlastní úkoly.
- Multiplatformní: Binárky pro všechny OS bez závislostí.
- TUI rozhraní: Plná navigace a editace v terminálu.
- MIT licence: Volné použití v komerčních projektech.
- Minimalistický design: Zaměření na výkon bez zbytečného UI.
— Editorial Team
Zatím žádné komentáře.