위키득계정 ↗
기술

jq

주요 구현 언어
C
주요 입력 형식
JSON
처리 방식
필터 표현식
입출력 연결
파일과 표준 입출력
jq는 JSON 자료를 필터 표현식으로 읽고 변환하는 명령행 도구다. 객체 항목이나 배열 원소를 추출하고 선택한 값으로 새 구조를 만들며, 파일이나 표준 입력에서 받은 자료를 처리한다.

텍스트보다 자료 구조를 다루기

중괄호와 줄바꿈의 모양을 문자열로 찾는 대신 JSON 값을 해석해 필요한 부분을 고른다. 객체의 항목 이름과 배열의 위치를 이어서 깊은 값을 읽을 수 있다. 동일한 자료라면 공백이나 들여쓰기의 차이가 경로 선택의 기준이 되지 않는다.

필터를 이어 변환하기

필터의 출력을 다음 필터의 입력으로 넘겨 여러 단계를 구성한다. 배열 원소마다 처리를 적용하거나 선택한 항목을 모아 새 객체를 만들 수 있다. 아무 값도 바꾸지 않는 필터도 입력을 정돈된 JSON으로 출력하는 데 사용할 수 있다.

셸 작업과 출력의 관계

입력 파일을 지정하거나 다른 명령의 표준 출력을 파이프로 전달할 수 있다. 기본 출력은 JSON 표현이므로 문자열에는 따옴표가 포함된다. 문자열을 일반 텍스트로 전달할 때는 원시 출력 옵션을 사용한다. YAML 같은 다른 형식을 직접 처리하는 도구와는 입력 범위가 다르다.

관련 문서

yq / JSON / JSON Lines / 셸 / 파이프라인 / 배열