다음과 같은 json 파일이 있습니다
more t.json
{
"href" : "htr",
"items" : [
{
"href" : "lpo",
"tag" : "version1533203561827110",
"type" : "kafka-log4j",
"version" : 6,
"Config" : {
"cluster_name" : "hdp",
"stack_id" : "HDP-2.6"
},
"properties" : {
"content" : "Licensed to the Apache Software Foundation",
"controller_log_maxbackupindex" : "20",
"controller_log_maxfilesize" : "256",
"ey=log4j.rootLogger" : "DEBUG",
"ey=properties.content" : "DEBUG",
"kafka_log_maxbackupindex" : "20",
"kafka_log_maxfilesize" : "256"
}
}
]
}
우리는 단지 콘텐츠의 가치를 인쇄하고 싶습니다.
jq '.items[].properties | to_entries[] | " \(.value)"' t.json
" Licensed to the Apache Software Foundation"
" 20"
" 256"
" DEBUG"
" DEBUG"
" 20"
" 256"
하지만 다른 모든 값을 인쇄합니다.
어디에서 잘못되었으며 무엇을 수정해야 합니까?
예상 출력
" Licensed to the Apache Software Foundation"
답변1
이 시도,
jq '.items[].properties.content' t.json
-r
큰따옴표를 제거하려면 다음을 추가하십시오.