Install

brew install gron

Help

gron 은 [[/cmd/man]]{man 페이지}를 제공하지 않는다.

대신 --help 옵션을 사용할 수 있다.

gron --help

Examples

다음과 같은 json 파일이 있다고 하자.

[
  {
    "commit": {
      "author": {
        "date": "2016-07-02T10:51:21Z",
        "email": "mail@tomnomnom.com",
        "name": "Tom Hudson"
      }
    }
  }
]

다음과 같이 사용할 수 있다.

$ cat test.json | gron
json = [];
json[0] = {};
json[0].commit = {};
json[0].commit.author = {};
json[0].commit.author.date = "2016-07-02T10:51:21Z";
json[0].commit.author.email = "mail@tomnomnom.com";
json[0].commit.author.name = "Tom Hudson";

jq 와의 비교

[[/cmd/jq]]로도 gron과 비슷한 일을 할 수 있지만 복잡한 명령을 사용해야 한다.

$ cat test.json | jq -r 'paths as $p | "\([$p[] | tostring] | join(".")) = \(getpath($p) | tojson)"'
0 = {"commit":{"author":{"date":"2016-07-02T10:51:21Z","email":"mail@tomnomnom.com","name":"Tom Hudson"}}}
0.commit = {"author":{"date":"2016-07-02T10:51:21Z","email":"mail@tomnomnom.com","name":"Tom Hudson"}}
0.commit.author = {"date":"2016-07-02T10:51:21Z","email":"mail@tomnomnom.com","name":"Tom Hudson"}
0.commit.author.date = "2016-07-02T10:51:21Z"
0.commit.author.email = "mail@tomnomnom.com"
0.commit.author.name = "Tom Hudson"

함께 읽기

  • [[/cmd/jq]]