GNU/Linux >> Linux の 問題 >  >> Linux

jq を使用して json 出力からキー値をフェッチする

| でフィルターを組み合わせる必要があります オペレーター:

$ jq -r '.[] | .[] | .name' test.json 
rhel6.6
rhel7

最初の .[] repositories をフェッチします 配列。次の .[] repositories のすべてのアイテムを取得します 配列。最後に .name 配列項目 (オブジェクト) からプロパティを抽出します。

最初の .[] に注意してください 文書化された機能であるため、オブジェクトで動作します:

.[]
    If you use the .[index] syntax, but omit the index entirely, it
    will return all of the elements of an array...

    You can also use this on an object, and it will return all the
    values of the object.

入力を配列として扱うのではなく、repositories 配列を調べたい場合:

$ jq -r '.repositories[].name' file
rhel6.6
rhel7

Linux
  1. 公開鍵と秘密鍵のペアを使用したパスワードなしのSSH

  2. スクリプトからキーが押されたかどうかを検出しますか?

  3. コマンドの出力をBashを使用して列ごとに分割しますか?

  1. ツリーコマンドの出力をJson形式に変換しますか?

  2. Json配列からBash配列に1つのフィールドを解析しますか?

  3. bash で以前のコマンドの出力を使用する

  1. Bashの文字列/配列から一意の要素の配列を作成するにはどうすればよいですか?

  2. Sedを使用してテキストファイルから複数のランダム行を削除する方法は?

  3. 配列からの引数を使用してコマンドを実行しますか?