동일한 구조의 JSON 파일이 여러 개 있고 목록은 배열입니다.
$ jq 'keys' file_1.json
[
"itemsPerPage",
"links",
"list",
"startIndex"
]
목록 필드는 다음과 같습니다.
파일 1.json
"list" : [ {"id: 123, "fname":"SAM" }, {"id: 125, "fname":"JOE" } .....]
FileX.json
"list" : [ {"id: 783, "fname":"Danny" }, {"id: 785, "fname":"Kingmo" } .....]
아래와 같은 출력을 생성해 보십시오(다른 필드만 나열하고 무시함, 즉 itemsPerPage/links/startIndex).
"list" : [ {"id: 123, "fname":"SAM" }, {"id: 125, "fname":"JOE" }, {"id: 783, "fname":"Danny" }, {"id: 785, "fname":"Kingmo" }]
jq를 사용하여 이러한 모든 파일을 읽고 모든 JSON 파일의 모든 객체를 포함하는 목록 배열이 포함된 파일을 생성하는 가장 좋은 방법은 무엇입니까?
답변1
inputs
함수를 사용하여 모든 JSON 파일의 내용을 함께 모으고 필드만 .list
함께 추가할 수 있습니다.
jq -n '{ list: [ inputs.list ] | add }' file1.json file2.json