jq
커맨드라인에서 JSON 문자열을 아름답게 볼 수 있도록 해주는 프로그램.
대용량 데이터를 한 줄씩 JSON 포맷으로 저장해서 사용하는 나에겐 가뭄의 한줄기 단비같은 존재.
[설치]
http://stedolan.github.io/jq/download 가서 적절한 바이너리 파일을 다운로드한 다음 chmod 755로 실행권한만 주면 사용준비 끝.
[예제]
아래와 같은 형태로, 앞 명령어의 결과물이 JSON 문자열일때 파이프라인으로 넘겨받아 파싱 후 아름답게 출력해준다.
// curl로 API를 요청해서 받은 JSON 문자열 파싱,출력
[root@localhost]# curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.'
// JSON 문자열로 된 로그파일의 10줄을 읽어 파싱
[root@localhost]# head -n 10 /PATH/TO/SOME_JSON.log | jq '.'
// 테스트
[root@localhost]# echo '{"name":"bloodguy","age":36}' | jq '.'
{
"name": "bloodguy",
"age": 36
}
// 배열의 2번째 요소만
[root@localhost]# echo '[{"name":"bloodguy","age":36},{"name":"nicehide","age":89}]' | jq '.[1]'
{
"name": "nicehide",
"age": 89
}
// 특정 필드만 추출
// name은 name이란 키이름으로,
// likes.movie는 movie라는 키이름으로 변환해서 출력
[root@localhost]# echo '{"name":"bloodguy","age":36,"likes":{"movie":"MadMaxFuryRoad","game":"PATAPON"}}' | jq '. | {name: .name, movie: .likes.movie}'
{
"name": "bloodguy",
"movie": "MadMaxFuryRoad"
}
기타 자세한 사용법은 튜토리얼(http://stedolan.github.io/jq/tutorial), 매뉴얼(http://stedolan.github.io/jq/manual) 참고.
'Linux' 카테고리의 다른 글
[Linux] yum install/update 실패시 (Error unpacking rpm package) (0) | 2015.11.04 |
---|---|
[Linux] 디스크가 HDD인지 SSD인지 알아내기 (0) | 2015.06.29 |
[vim] 유용한 팁 (0) | 2015.05.25 |
[Bash] Bash에서 특정시간 기준 datetime 지정하기 (0) | 2015.05.07 |
[Linux] curl로 Kerberos HTTP SPNEGO 접근하기 (0) | 2015.04.27 |