Fish Shell:
Arbeiten mit JSON
Wie geht das:
Die Fish Shell selbst verfügt nicht über integrierte Hilfsprogramme zum Parsen und Generieren von JSON. Sie integriert sich jedoch nahtlos in Drittanbieter-Tools wie jq
für die JSON-Verarbeitung. jq
ist ein leistungsstarker und vielseitiger Befehlszeilen-JSON-Prozessor, der es Ihnen ermöglicht, strukturierte Daten einfach und ausdrucksstark zu schneiden, zu filtern, zu mappen und zu transformieren.
JSON mit jq parsen
Um eine JSON-Datei zu parsen und Daten mit jq
zu extrahieren:
# Angenommen, Sie haben eine JSON-Datei namens 'data.json' mit dem Inhalt: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Beispiel Ausgabe
"Fish Shell"
JSON mit jq generieren
JSON-Inhalte aus Shell-Variablen oder -Ausgaben erstellen:
# JSON-Objekt aus Variablen erstellen
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Beispiel Ausgabe
{
"name": "Fish Shell",
"version": "3.4.0"
}
JSON-Sammlungen filtern
Angenommen, wir haben ein JSON-Array von Objekten in einer Datei namens versions.json
:
[
{"version": "3.1.2", "stable": true},
{"version": "3.2.0", "stable": false},
{"version": "3.4.0", "stable": true}
]
Um dieses Array nur nach stabilen Versionen zu filtern:
cat versions.json | jq '.[] | select(.stable == true) | .version'
# Beispiel Ausgabe
"3.1.2"
"3.4.0"
Die bereitgestellten Beispiele demonstrieren die Kraft der Integration von jq
in die Fish Shell für JSON-Operationen. Die Nutzung solcher Tools bereichert das Erlebnis in der Shell und macht sie zu einer formidablen Umgebung für die Handhabung moderner Datenformate.