Dasel - JSON, TOML, YAML, XML 및 CSV 데이터 선택, 삽입 및 삭제 도구
(github.com/TomWright)- 데이터 구조를 선택자 문자열을 사용하여 쿼리하고 수정할 수 있게 해주는 도구
- JSON, YAML, TOML, XML, CSV를 지원하며 런타임 종속성이 없음
- 다양한 데이터 형식을 다루기 위해 새로운 도구를 배울 필요가 없음
- 표준 선택자 구문을 사용하여 한 번 배우면 모든 지원 데이터 형식을 쿼리/수정할 수 있음
- homebrew, ASDF, scoop, docker, Nix 또는 최신 릴리스에서 컴파일된 바이너리로 설치 가능
- 터미널 자동완성도 지원
- Features
- 구조화된 데이터 파일에서 데이터 쿼리/선택
- 구조화된 데이터 파일의 데이터 업데이트
- 데이터 파일 생성
- 여러 데이터 형식/유형 지원
- 데이터 형식/유형 간 변환
- 모든 데이터 형식에서 표준 쿼리/선택자 구문 사용
- 런타임 종속성 없음
- Linux, Mac, Windows에서 사용 가능
- 자체 프로젝트에 가져와서 사용 가능
- Docker를 통해 실행 가능
- jq/yq보다 빠름
- Pre-commit 훅
- Playground
- dasel 명령어를 테스트할 수 있는 플레이그라운드 제공
- 플레이그라운드 소스 코드는 github.com/TomWright/daselplayground에서 확인 가능
- Benchmarks
- 테스트 결과 dasel이 jq보다 최대 3배, yq보다 최대 15배 빠름
- 벤치마크 디렉토리에서 확인 가능
GN⁺의 정리
- Dasel은 다양한 데이터 형식을 지원하며, 표준 선택자 구문을 사용하여 쉽게 쿼리하고 수정할 수 있는 도구임
- 런타임 종속성이 없고, 여러 플랫폼에서 사용 가능하며, jq/yq보다 빠름
- 다양한 설치 방법과 pre-commit 훅을 제공하여 개발 환경에 쉽게 통합 가능
- 데이터 형식 간 변환이 필요하거나 여러 데이터 형식을 다루는 프로젝트에 유용함
- 유사한 기능을 가진 도구로는 jq, yq 등이 있음
GeekNews Weekly에 포함된 글입니다.
에디터 코멘트 보기
댓글과 토론
Hacker News 의견
- SQL 스타일 문법을 사용하여 비관계형 데이터 저장소를 쿼리하는 아이디어가 좋음
- 모든 데이터 저장 형식을 SQL로 쿼리할 수 있는지 궁금해짐
- jq 스타일 쿼리를 선호하는 경우 qq를 사용할 수 있음
- Nushell을 사용하여 다양한 형식을 처리할 수 있음
- 매 분기마다 이러한 도구들이 주목받는 것 같음
- 사람들이 자신들의 특정 사용 사례를 지원하는 도구를 보여주거나 나열하는 것을 기다리고 있음
- 항상 많은 것을 배움
- 멋진 프로젝트지만 표준화된 쿼리 언어가 필요함
- jq 쿼리 문법을 내재화하기 어려움
- 널리 채택된 표준이 아닌 경우 학습에 투자하기 꺼려짐
JMESPath가 앞으로 나아갈 길일 수 있음gron이 직관적이고 다른 도구와 잘 어울림
- Go에서 이런 도구를 많이 사용했음
- yaml을 파싱하지 않고 변형만 하고 싶을 때가 있음
- 기존 yaml 문서에 데이터를 선택하고 교체, 추가할 수 있는 기능이 자동화에 큰 도움이 됨
- ini 파일을 위한 유사한 도구
- 또 다른 도구 목록
- structured-text-tools 링크
- 이미 6번이나 목록에 있음
- 최근 AWS에서 JMESPath를 사용해본 경험이 있음
- 어떤 구조화된 데이터 도구가 더 배우기 쉬운지, 문서화가 잘 되어 있는지, 작성 속도가 빠른지 궁금함
- 좋은 비교 기사를 아는 사람이 있는지 물어봄
- 여전히 jq를 기본으로 사용함
- yq가 이미 그 기능을 수행하지만 README에 따르면 느림