gron 명령어
JSON을 greppable 하게 표현해준다
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]]