LoginSignup
6
4

More than 5 years have passed since last update.

jqで整形したJSONの結果をリダイレクトする、ファイルに保存する

Last updated at Posted at 2017-08-04

jqで整形したJSONの結果をリダイレクトする、保存する

jqはフィルタ(何を出力するか)を指定しないといけないとのことです。
'.'というフィルタを指定することで次のコマンドにパイプできるようです。

'.'はルート(一番外側の{})を意味しているとのことです

{
  "foo" : "FOO",
  "bar" : { 
    "baz" : "BAZ" 
  }
}
jq-sample
$ echo '{"foo" : "FOO", "bar" : { "baz" : "BAZ" }}' | jq ".foo"
"FOO"
$ echo '{"foo" : "FOO", "bar" : { "baz" : "BAZ" }}' | jq ".bar"
{
  "baz": "BAZ"
}
$ echo '{"foo" : "FOO", "bar" : { "baz" : "BAZ" }}' | jq ".bar.baz"
"BAZ"
$ echo '{"foo" : "FOO", "bar" : { "baz" : "BAZ" }}' | jq "."
{
  "foo": "FOO",
  "bar": {
    "baz": "BAZ"
  }
}

リダイレクトする

$ cat before.json | jq '.' | grep -e "foo" 

ファイルに保存する

$ cat before.json | jq '.' > after.json 

https://stackoverflow.com/questions/33247228/how-to-use-jq-in-a-shell-pipeline
http://qiita.com/takeshinoda@github/items/2dec7a72930ec1f658af

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4