위키득계정 ↗
기술

yq

주요 구현 언어
Go
대표 입력 형식
YAML JSON XML
표현식
jq와 비슷한 문법
주요 작업
조회 갱신 병합 변환
yq는 YAML을 비롯한 구조화된 자료를 조회하고 변경하는 Go 기반 명령행 도구다. jq와 비슷한 표현식을 사용하며 여러 문서의 병합과 형식 변환, 파일의 제자리 수정도 지원한다.

여러 형식을 다루는 처리기

YAML과 JSON 외에도 XML이나 INI, CSV와 TSV 등의 형식을 다룬다. 입력을 파일에서 읽거나 표준 입력으로 받을 수 있고 출력 형식을 선택해 변환한다. 파일 확장자로 형식을 추정할 수 있으며 필요하면 입력 형식을 명시한다.

선택한 항목의 변경과 병합

경로와 조건으로 필요한 값을 찾고 대입 표현식으로 변경한다. 환경 변수나 다른 파일에서 읽은 값도 활용할 수 있다. 여러 파일을 한꺼번에 평가하는 방식과 차례로 평가하는 방식을 구분하며, 병합과 누적 연산으로 결과를 구성한다.

YAML 정보와 호환 범위

여러 YAML 문서와 프런트 매터를 다루고 주석이나 태그, 앵커와 별칭을 조작할 수 있다. 수정 시 서식과 주석을 유지하려 하지만 공백 보존에는 제한이 있다. jq와 문법이 비슷해도 모든 연산을 똑같이 지원하는 것은 아니므로 두 도구의 완전한 호환을 전제할 수 없다.

관련 문서

jq / YAML / JSON / XML / CSV / TOML