# Sheets: otwarte narzędzie do pracy z arkuszami w terminalu w Go
Sheets — to wieloplatformowy projekt w Go do pracy z arkuszami kalkulacyjnymi bezpośrednio w terminalu. Deweloper Maas Lalani opublikował kod źródłowy na GitHub pod licencją MIT. Narzędzie jest skierowane do deweloperów preferujących rozwiązania CLI bez interfejsu graficznego. Binarki dostępne dla Windows, macOS i Linux, co zapewnia uniwersalność w różnych środowiskach deweloperskich.
Projekt rozwiązuje zadanie przetwarzania danych tabelarycznych w trybie tekstowym, integrując się ze skryptami shell i automatyzacją zadań. Użytkownicy mogą wykonywać operacje edycji, filtrowania i obliczeń bez potrzeby uruchamiania przeglądarki czy aplikacji desktopowych.
Główne możliwości
Sheets zapewnia funkcjonalność podobną do tradycyjnych aplikacji spreadsheet, ale dostosowaną do terminala:
- Edycja komórek: Nawigacja po tabeli za pomocą klawiszy, wprowadzanie i zmiana wartości.
- Formuły i obliczenia: Obsługa podstawowych operacji matematycznych i funkcji.
- Import/eksport: Praca z CSV, TSV i innymi formatami tekstowymi.
- Filtrowanie i sortowanie: Szybkie wyszukiwanie i porządkowanie danych.
- Wizualizacja: Kodowanie kolorami i formatowanie dla lepszej czytelności w terminalu.
Interfejs wykorzystuje pełnoekranowy TUI (Text User Interface), zbudowany na bibliotece tview lub podobnej dla Go. Pozwala to efektywnie zarządzać dużymi tabelami bez utraty wydajności.
Instalacja i uruchomienie
Aby rozpocząć pracę, pobierz gotowy build z release'ów GitHub lub skompiluj z źródeł:
go install github.com/mjl-/sheets@latest
Po instalacji uruchom:
sheets file.csv
Projekt wymaga Go 1.21+ do kompilacji. Zależności minimalne, co ułatwia wdrożenie w kontenerach lub pipeline'ach CI/CD.
Zastosowanie w developmentcie
Sheets integruje się z praktykami DevOps:
- Przetwarzanie logów w czasie rzeczywistym.
- Analiza metryk z monitoringu (Prometheus, Grafana eksport).
- Generowanie raportów w skryptach.
- Procesy ETL dla danych z baz (SQLite, PostgreSQL via csvdump).
Przykład: parsowanie logów JSON do tabeli w celu analizy błędów.
# Przykład skryptu
sheets -i logs.json -o analysis.tsv | sheets --sort column2
To szczególnie przydatne dla doświadczonych deweloperów pracujących w środowiskach headless lub na serwerach bez GUI.
Porównanie z alternatywami
| Narzędzie | Platformy | Licencja | TUI | Formuły |
|-----------|---------------|----------|-----|------------|
| Sheets | Win/Mac/Linux | MIT | Tak | Tak |
| visidata | *nix | GPL | Tak | Częściowo |
| csvkit | *nix | MIT | Nie | Nie |
Sheets wyróżnia się pełną wieloplatformowością i wsparciem formuł w terminalu.
Co ważne
- Kod otwarty w Go: Łatwo rozszerzalny i modyfikowalny pod zadania niestandardowe.
- Wieloplatformowy: Binarki dla wszystkich systemów operacyjnych bez zależności.
- Interfejs TUI: Pełna nawigacja i edycja w terminalu.
- Licencja MIT: Wolne użycie w projektach komercyjnych.
- Minimalistyczny design: Nacisk na wydajność bez zbędnego UI.
— Editorial Team
Brak komentarzy.