운영체제/리눅스
[리눅스]jq명령어
Cloud_Park
2020. 12. 9. 15:19
안녕하세요.
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을 공백을 주면 여러 배열의 값이 나오게 된다.