"geometry"\ "location"아래에 "lat"및 "lng"값만 저장하기 위해 grep과 씨름하는 Google API 호출에서받은 다음 JSON 출력이 있으므로 다음과 같은 출력이 표시됩니다.
오랜 세월
{
"results" : [
{
"address_components" : [
{
"long_name" : "",
"short_name" : "",
"types" : [ "street_number" ]
},
{
"long_name" : "Kildegade",
"short_name" : "Kildegade",
"types" : [ "route" ]
},
{
"long_name" : "Horsens",
"short_name" : "Horsens",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Denmark",
"short_name" : "DK",
"types" : [ "country", "political" ]
},
{
"long_name" : "8700",
"short_name" : "8700",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Kildegade, 8700 Horsens, Denmark",
"geometry" : {
"location" : {
"lat" : 55.863466,
"lng" : 9.848784
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 55.86481498029149,
"lng" : 9.850132980291503
},
"southwest" : {
"lat" : 55.8621170197085,
"lng" : 9.847435019708499
}
}
},
"place_id" : "ChIJG8X9xAVjTEYRGwL9QuNARJQ",
"types" : [ "street_address" ]
}
],
"status" : "OK"
}
나는 API KEY 후에 GREP 호출을해야한다고 생각하지만 GREP없이 출력을 얻었 기 때문에 약간 멈췄지만 간단한 GREP를 적용 할 때는 아무것도 없습니다.
adresse=$(curl -s "https://maps.googleapis.com/maps/api/geocode/json?address=Kildegade+8700+horsens+denmark"&key=GOOGLE API KEY")
이 전에 비슷한 JSON 출력이 사용되었습니다.
| grep -B 1 "route" | awk -F'"' '/short_name/ {print $4}
그러나 이것은이 출력에 맞지 않으며 GREP를 사용하는 데 그다지 강력하지 않습니다.)
어떤 도움이라도 정말 도움이 될 것입니다, 감사합니다;)
jq ( https://stedolan.github.io/jq/ )는 가볍고 유연한 명령 줄 JSON 프로세서입니다.
json 샘플에서 lat
및 lng
필드 를 추출한다고 가정합니다 .
그런 다음 다음과 같은 것을 사용할 수 있습니다. jq '.results[].geometry.location' < input.json
위의 예에서 json이라는 파일에 저장되어 있다고 생각하고 input.json
있지만 jq
다음 curl
과 같이 사용할 수 있습니다 .curl ... | jq ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다