jq
텍스트 처리
쓰는 꼴
jq '[filter]' [file.json]JSON을 제 나름의 작은 언어로 걸러 모양을 바꿉니다. 기본으로 깔려 있지 않은 경우가 많고, 문자열의 따옴표를 벗기려면 -r이 있어야 합니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| -r | Raw output, so strings come out without quotes |
| -c | One compact line per result |
| -e | Set the exit status from the result, for scripts |
| --arg | Pass a shell string in as a jq variable |
| -s | Slurp the whole input into one array |
| -n | Start from null input and build output yourself |
예시
curl -s api/users | jq -r '.[].name'Every name, unquoted, one per line.
jq '.items | length' data.jsonCounts the entries in an array.
jq -c '.[] | {id, name}' big.jsonTwo fields per row, compact.
파이프로 이어 쓰는 것이 본래 용도입니다. 한 명령이 다 하는 것보다 셋을 잇는 편이 짧습니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. jq은 무엇을 하나요?
JSON을 제 나름의 작은 언어로 걸러 모양을 바꿉니다. 기본으로 깔려 있지 않은 경우가 많고, 문자열의 따옴표를 벗기려면 -r이 있어야 합니다.
Q. 어떻게 치나요?
jq '[filter]' [file.json] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 6개입니다. 전체 목록은 man jq에 있습니다. 이 명령은 텍스트 처리 갈래입니다.
같이 보는 명령
man 페이지: man jq