Ich benutze jq, um cURL Antwort zu analysieren und zu ändern, und es funktioniert perfekt für alle meine Anforderungen außer einer. Ich mag einen Schlüsselwert in der json modifizieren, wie:Bash jq modify json: get und set
A) Eingang json
[
{
"id": 169,
"path": "dir1/dir2"
}
]
B) Ausgang json
[
{
"id": 169,
"path": "dir1"
}
]
So das letzte Verzeichnis aus dem Pfad entfernt wird. Ich benutze das Skript:
curl --header -X GET -k "${URL}" | jq '[.[] | {id: .id, path: .path_with_namespace}]' | jq '(.[] | .path) = "${.path%/*}"'
Die letzte Pipe ist natürlich nicht korrekt und das ist, wo ich feststecke. Der Punkt ist, den Wert path
zu erhalten und zu ändern. Jede Hilfe wird geschätzt.
Perfekt, vielen Dank: D – Sid