Linux

[Linux] jq 명령어 다양한 옵션을 통한 예제

IT-PAPA 2023. 6. 6. 06:43
728x90
반응형

아래 테이블은 jq 명령어의 일부 옵션과 예제를 자세히 설명한 것입니다. jq는 JSON 데이터를 처리하고 쿼리하고 변환하는 유용한 명령줄 도구입니다.

옵션 설명 예제
-c 각 JSON 객체를 단일 줄로 압축하여 출력합니다. jq -c '.' data.json
-r 원시 출력을 수행하고 JSON 문자열을 제거합니다. jq -r '.key' data.json
--rawfile 파일의 내용을 원시 입력으로 사용합니다. jq --rawfile file.json '.key'
-s 입력을 슬라이싱하여 배열을 만듭니다. jq -s 'map(.key)' data.json
.key JSON 객체의 특정 키에 대한 값을 선택합니다. jq '.name' data.json
.[index] JSON 배열에서 지정된 인덱스에 해당하는 값을 선택합니다. jq '.[0]' data.json
.[] JSON 배열의 모든 값을 선택합니다. jq '.[].name' data.json
select() 조건에 따라 JSON 객체를 필터링합니다. jq 'select(.key == "value")' data.json
map() JSON 배열의 각 요소에 함수를 적용하고 새로운 배열을 반환합니다. jq 'map(.key)' data.json
length JSON 객체 또는 배열의 요소 수를 반환합니다. jq 'length' data.json
keys JSON 객체의 모든 키를 반환합니다. jq 'keys' data.json
join() 문자열 배열을 구분자로 결합합니다. jq 'join(", ")' data.json
if-then-else 조건에 따라 값을 선택하여 반환합니다. jq 'if .key == "value" then "Matched" else "Not matched" end' data.json
옵션 설명 예제
.key 특정 키에 해당하는 값을 추출합니다. `echo '{"name": "John", "age": 30}'
.[] 배열 내 모든 값을 추출합니다. `echo '[1, 2, 3]'
select 조건에 맞는 항목만 필터링합니다. `echo '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'
map 배열 내 각 항목에 대해 변환 작업을 수행합니다. `echo '[1, 2, 3]'
.[] 객체나 배열 내 모든 값을 추출하고, 중첩된 항목을 flatten합니다. `echo '{"name": "John", "friends": ["Jane", "Bob"]}'
.foo? 선택적인 키에 해당하는 값을 추출합니다. 키가 없으면 null을 반환합니다. `echo '{"name": "John", "age": 30}'
.foo // "default" 키에 해당하는 값을 추출하고, 키가 없으면 기본값을 반환합니다. `echo '{"name": "John", "age": 30}'
to_entries 객체를 키-값 쌍의 배열로 변환합니다. `echo '{"name": "John", "age": 30}'
from_entries 키-값 쌍의 배열을 객체로 변환합니다. `echo '[{"key": "name", "value": "John"}, {"key": "age", "value": 30}]'
length 배열이나 객체의 길이를 반환합니다. `echo '[1, 2, 3]'

위의 테이블은 일부 jq 명령어 옵션과 예제를 제공하였습니다. jq에는 더 많은 옵션과 기능이 있으며, 자세한 내용은 jq의 공식 문서를 참조하시기 바랍니다.

728x90
반응형
LIST