キーにドットがある場合、yq で値を読み取るにはどうすればよいでしょうか? 質問する

キーにドットがある場合、yq で値を読み取るにはどうすればよいでしょうか? 質問する

キー名にドットが含まれている場合、YAML ファイルから値を読み取る際に問題が発生します。

つまり

a:
 b.c: 2

キーの読み取りはaで正常に動作しますcat mytext.yaml | yq r - a。ただし、読み取ろうとするとa.b.c何も出力されません。

ドット記号をエスケープしようとしましたが、出力は得られませんでした。

何か見逃しているものはありますか?

ベストアンサー1

v4以降では、新しい構文表記法を使用できます。つまり、

echo 'a:
 b.c: 2' | yq e '.a."b.c"' - 

マイクファラ​​/yqドキュメントで説明されているように、パス式に".."含まれるフィールドを保持するために引用符を使用できます。.ネストされた特殊文字

echo 'a:
 b.c: 2' | yq r - 'a."b.c"' 

おすすめ記事