본문 바로가기
운영체제/리눅스

[리눅스]jq명령어

by Cloud_Park 2020. 12. 9.

안녕하세요.

jq는  curl 이나 httpie 등의 명령행 http 처리기와 연계하여 JSON 기반의 REST API 를 디버깅할 때 유용한 툴입니다.

설치는

RHEL/CentOS

yum install jq

Ubuntu

apt install jq

OS X

brew install jq

윈도우 같은경우는
https://github.com/stedolan/jq/releases/download/jq-1.5/jq-win64.exe

 

에서 다운받아 PATH가 걸린 곳에 넣습니다.

 

 

jq 명령어 사용 예:

처음에 보기 좋은 모양으로 포멧

echo [file]|jq '.'

여기서 .은 json 최고  deep을 말하는 것이다 

 

json에 배열이 존재하는데  그럴땐 .[num] 을 사용해준다.

 

cat [file]|jq '.[]'

 

해당 명령어는  공백으로 넣어 모든 배열을 출력 시킨다.

 

 

filter를 사용해  json에 원하는 요소만 뽑아 보자

cat [file] |jq '.[0] | {message: .commit.message, name: .commit.committer.name, date: .commit.author.date}' 

 결과 값은 
{

message: [.commit.message,의 값]

name: [.commit.committer.name의 값],

date: [.commit.author.date의 값]

}

로 나오게 되는데 

해당 값들이 존재 해야한다.

 

배열의 0을 공백을 주면 여러 배열의 값이 나오게 된다.