프로젝트 소개

yq는 Go 언어로 작성된 가볍고 휴대 가능한 명령줄 도구로, 사용자가 다양한 데이터 형식을 처리하고 조작할 수 있게 해줍니다. 이 도구는 인기 있는 JSON 프로세서인 jq와 유사한 구문을 사용하지만, 그 기능을 확장하여 YAML, JSON, XML, CSV, TSV, TOML, HCL, INI 및 properties 파일을 지원합니다. 주요 기능은 다음과 같습니다: - 여러 파일에 걸쳐 데이터 구조 읽기, 업데이트 및 병합 - 파일 내 직접 업데이트(in-place) 및 표현식 내 환경 변수 사용 가능 - 서로 다른 형식 간의 변환 (예: JSON에서 YAML로, XML에서 YAML로) - 다중 문서 YAML 파일 및 front-matter 블록 지원 - 날짜/시간 조작, 키 정렬, YAML 주석, 스타일링, 태그, 앵커 및 별칭 처리와 같은 고급 작업 - Base64 인코딩 및 디코딩 - 자동화 파이프라인을 위한 GitHub Action 통합 이 도구는 의존성이 없는 바이너리 형태로 배포되며 Homebrew, Snap, Chocolatey, Scoop, Winget과 같은 다양한 패키지 관리자뿐만 아니라 Docker 및 Podman 컨테이너를 통해 사용할 수 있습니다.