본문 바로가기

OS/Linux

Linux - jq 명령어란? (JSON 데이터 처리기)

728x90

1. jq란 무엇인가?

jq는 JSON 데이터를 처리하고 파싱 할 수 있도록 도와주는 유틸리티입니다. 마치 sed나 awk처럼 사용되며, JSON 포맷의 데이터를 필터링하고 변환하는 데 특화되어 있습니다. 복잡한 JSON 데이터 구조에서 특정 값만 추출하거나 데이터를 재구성하는 데 매우 유용합니다.

2. jq 설치하기

 

# apt
sudo apt-get update
sudo apt-get install jq

# apt(select version)
sudo apt-get install jq=1.5*

# yum
sudo yum install jq

# yum(select version)
sudo yum install jq-1.5

# dnf
sudo dnf install jq

# source code
git clone <https://github.com/stedolan/jq.git>
cd jq
autoreconf -i
./configure
make
sudo make install

# source code(select version)
git clone <https://github.com/stedolan/jq.git>
cd jq
git checkout jq-1.5
autoreconf -i
./configure
make
sudo make install

3. jq 사용 예시

  • jq를 이용해 API에서 받아온 JSON 데이터를 읽기 쉽게 출력할 수 있습니다.
# curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.'

 

  • JSON 배열의 특정 요소만 추출하고 싶다면 아래와 같이 사용할 수 있습니다.
# echo '[{"name":"student","age":17},{"name":"teacher","age":33}]' | jq '.[1]'

 

  • JSON 데이터에서 특정 필드만 추출하고 싶다면, 필드 경로를 지정해서 추출할 수 있습니다.
# echo '{"name":"teacher","age":33,"likes":{"movie":"tomorrow","game":"Poker"}}' | jq '. | {name: .name, movie: .likes.movie}'

 

 

728x90
반응형