このような文字列があり、2つの文字列の間のテキストを抽出しようとしています。
例:
[{a12:12},{b12:1},{m12:34},{b12:2},{k12:45}]
b12
との間の固有の値を抽出したいのですが、},{m12:
必要な出力はです1
。
試しましたが、sed
期待した結果が得られませんでした。何度も発生したので、わからない場合はb12
アドバイスが役に立ちます。
ベストアンサー1
入力が有効なJSONであるとします。
[{"a12":12},{"b12":1},{"m12":34},{"b12":2},{"k12":45}]
jq
...キーを使用して最上位配列の最初の要素を抽出し、その要素からb12
キー値を抽出するために使用できます。
jq 'map(select(has("b12"))) | first.b12' file
キー名をコマンドライン引数として渡します。
jq --arg k 'b12' 'map(select(has($k))) | first[$k]' file