반응형
목차
요즘 json 많이 사용하므로 jq를 사용하는게 굉장히 편리합니다.
설치
jq 설치는 간단합니다.
apt install jq
위 명령어만 입력해주면 됩니다.
사용방법
사용방법은 다음과 같습니다.
jq .key *.json
jq [옵션] [.추출할 키] [json파일]
이런식입니다.
근데 이게 좀 독특한게
키 다음 키 있을경우
보통 .키.키
마침표를 찍으면 잘 출력이 되는데
json에서 대괄호, 중괄호로 섞여 묶여 있는경우는 꼬일때도 있습니다.
예제
{
"entries": [
{
"Name": "cat",
"size": "100"
},
{
"Name": "dog",
"size": "200"
}
]
}
이런 test.json 파일이 있습니다.
여기서 Name의 value 값을 공백포함에서 출력하고 싶습니다.
jq -c .entries.Name test.json
하면 공백은 없어도 한줄로는 출력이 될줄 알았으나 안되더군요.
대괄호는 다른 옵션을 줘야하나 봅니다.
jq -r '.entries | map(.Name) | join(" ")' test.json
다음과 같이 하면
cat dog
이런식으로 출력되는것을 확인하실수 있습니다.
windows 에서 jq
그대로 치면 다음과 같은 에러가 발생합니다.
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Windows cmd shell quoting issues?) at <top-level>, line 1:
" 쌍따옴표인 경우 앞에 백슬러쉬를 해줘야합니다.
jq -r '.entries | map(.Name) | join(\" \")' test.json
이런식으로 말이죠.
Reference
jq 공식 메뉴얼
https://stedolan.github.io/jq/manual/
https://stackoverflow.com/questions/69198107/extract-values-from-json-using-jq
jq 옵션만 정리
커맨드라인 JSON 프로세서 jq : 기초 문법과 작동원리 | 44BITS
반응형
'LINUX' 카테고리의 다른 글
[UBUNTU]nginx 설치(tar, 소스코드, make) 및 실행 (0) | 2022.11.09 |
---|---|
jq 관련 했던거 (0) | 2022.10.14 |
ubuntu sftp 비밀번호 접속 하기 에러:Permission denied (publickey,gssapi-keyex,gssapi-with-mic). (0) | 2022.10.12 |
linux[ubuntu] group에 유저 추가, 삭제 조회 하기 (0) | 2022.10.11 |
wsl에서 계정비밀번호 incorrect (0) | 2022.10.05 |
댓글