私のテストjsonファイルは次のとおりです。
{
"server":"xxx",
"cert":"line1\nline2",
"security/path": "/var/log/systems.log"
}
keyでフィルタリングしたいが、security/path
次のいずれのコマンドも機能しません。
jq .security/path test.json
jq: error: path/0 is not defined at <top-level>, line 1:
.security/path
jq: 1 compile error
jq '.security/path' test.json
同じ結果が表示されます。
ベストアンサー1
~から基本フィルタ:
オブジェクト識別子インデックス:
...
キーに特殊文字が含まれている場合、または数字で始まる場合は、次のように二重引用符で囲む必要があります。
."foo$"
そうでなければ.["foo$"]
....
だから、
$ jq -r '."security/path"' test.json
/var/log/systems.log