# Sheets: Go로 제작된 터미널 스프레드시트 작업 오픈소스 도구
Sheets는 터미널에서 직접 스프레드시트를 처리하기 위해 Go로 작성된 크로스플랫폼 프로젝트입니다. 개발자 Maas Lalani가 GitHub에 MIT 라이선스로 소스 코드를 공개했습니다. 이 도구는 그래픽 인터페이스 없이 CLI(명령줄 인터페이스) 솔루션을 선호하는 개발자를 대상으로 합니다. Windows, macOS, Linux용 사전 빌드 바이너리가 제공되어 다양한 개발 환경에서 활용도가 높습니다.
이 프로젝트는 텍스트 기반 환경에서 표 형식 데이터를 처리하는 도전을 해결하며, 셸 스크립트와 자동화 워크플로우에 원활하게 통합됩니다. 사용자는 브라우저나 데스크톱 앱을 실행할 필요 없이 편집, 필터링, 계산을 수행할 수 있습니다.
주요 기능
Sheets는 전통적인 스프레드시트 애플리케이션과 유사한 기능을 제공하지만 터미널에 최적화되어 있습니다:
- 셀 편집: 키보드 단축키로 테이블 탐색, 값 입력 및 수정.
- 수식 및 계산: 기본 수학 연산과 함수 지원.
- 가져오기/내보내기: CSV, TSV 및 기타 텍스트 형식 처리.
- 필터링 및 정렬: 빠른 검색과 데이터 정리.
- 시각화: 터미널에서 가독성을 높이기 위한 색상 코딩과 포맷팅.
인터페이스는 tview 라이브러리 또는 유사한 Go 라이브러리로 구축된 전체 화면 TUI(텍스트 사용자 인터페이스)를 특징으로 합니다. 이를 통해 성능 저하 없이 대형 테이블을 효율적으로 처리할 수 있습니다.
설치 및 사용법
시작하려면 GitHub 릴리스에서 사전 빌드 바이너리를 다운로드하거나 소스에서 빌드하세요:
go install github.com/mjl-/sheets@latest
설치 후 다음과 같이 실행하세요:
sheets file.csv
프로젝트 컴파일에는 Go 1.21+가 필요합니다. 최소한의 의존성으로 컨테이너나 CI/CD(지속적 통합/지속적 배포) 파이프라인에 쉽게 배포할 수 있습니다.
개발에서의 활용
Sheets는 DevOps(개발 운영) 워크플로우에 잘 맞습니다:
- 실시간 로그 처리.
- 모니터링 도구(Prometheus, Grafana 내보내기)의 메트릭 분석.
- 스크립트를 통한 보고서 생성.
- 데이터베이스 데이터 ETL(추출, 변환, 로드) 프로세스 (SQLite, PostgreSQL via csvdump).
예시: JSON 로그를 테이블로 파싱하여 오류 분석.
# Example script
sheets -i logs.json -o analysis.tsv | sheets --sort column2
특히 헤드리스 환경이나 GUI 없는 서버에서 작업하는 시니어 개발자에게 특히 유용합니다.
대안과의 비교
| Tool | Platforms | License | TUI | Formulas |
|-----------|---------------|---------|-----|------------|
| Sheets | Win/Mac/Linux | MIT | Yes | Yes |
| visidata | *nix | GPL | Yes | Partially |
| csvkit | *nix | MIT | No | No |
Sheets는 완전한 크로스플랫폼 지원과 터미널 기반 수식 기능으로 돋보입니다.
주요 하이라이트
- 오픈소스 Go 코드베이스: 특정 요구사항에 맞게 확장 및 커스터마이징 용이.
- 크로스플랫폼: 모든 주요 OS(운영 체제)용 바이너리, 의존성 제로.
- TUI 인터페이스: 터미널에서 완전한 탐색 및 편집 기능.
- MIT 라이선스: 상용 프로젝트에서 무료 사용 가능.
- 미니멀리스트 디자인: 불필요한 UI 요소 없이 성능 중심.
— Editorial Team
아직 댓글이 없습니다.