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/

좋은 웹페이지 즐겨찾기