json 처리 도구 jq
7363 단어 Linux 도구
@ 2018-03-01
jq 도구는 JSON의 합법성을 검사하고 더 친밀하고 읽을 수 있는 형식으로 포맷할 수 있습니다.
엉망진창인 JSON을 더 읽을 수 있는 형식으로 포맷합니다. 원본 json 파일 jsonTest 데이터는 다음과 같습니다.
{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"694666ee-8918-48f8-bb92-0a756a3f1f31","_timestamp":"1496999163163"}
{"_location":"(32.121, 45.262)","_ip":"7.12.1.211","_action":"click button","_uid":"868be529-f59e-4f16-8ea5-08c4612ede9a","_timestamp":"1496999164165"}
{"_location":"(32.121, 45.262)","_ip":"2.12.1.211","_action":"click button","_uid":"49b63380-2a5a-453d-aa5b-57e74cd1a8d7","_timestamp":"1496999165170"}
{"_location":"(32.121, 45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"60fd093a-9f6a-4716-81c6-72a5f07d3b4f","_timestamp":"1496999166171"}
{"_location":"(32.121, 45.262)","_ip":"3.12.1.211","_action":"click button","_uid":"056cf558-56b1-4312-aba1-0b0eb71ba78e","_timestamp":"1496999167172"}
{"_location":"(32.121, 45.262)","_ip":"8.12.1.211","_action":"click button","_uid":"a2ecd34c-5458-43a2-b851-89eb6b3985ae","_timestamp":"1496999168174"}
cat jsonTest | jq를 사용합니다.다음 json 데이터 형식은 다음과 같습니다.
{
"_timestamp": "1496999163163",
"_uid": "694666ee-8918-48f8-bb92-0a756a3f1f31",
"_action": "click button",
"_ip": "2.12.1.211",
"_location": "(32.121, 45.262)"
}
{
"_timestamp": "1496999164165",
"_uid": "868be529-f59e-4f16-8ea5-08c4612ede9a",
"_action": "click button",
"_ip": "7.12.1.211",
"_location": "(32.121, 45.262)"
}
......
Hive의 json은 json 파일 info와 같은 포맷된 json 열을 한 줄로 출력해야 할 때가 있습니다.json의 원본 데이터는 다음과 같습니다.
{
"generated_on": "2017-12-03 08:41:42.057563",
"slice": "0-999",
"version": "v1"
}
cat info를 사용합니다.json | jq -c .다음과 같은 데이터를 얻을 수 있습니다.
{"version":"v1","slice":"0-999","generated_on":"2017-12-03 08:41:42.057563"}
jq의 조작 문서는 참고할 수 있습니다https://stedolan.github.io/jq/manual/