Was ist yq?
yq ist ein leichtgewichtiger, portabler Kommandozeilen-Prozessor für strukturierte Daten — YAML, JSON, XML, CSV, TOML und Properties-Dateien — geschrieben in Go von Mike Farah. Es nutzt jq-ähnliche Syntax, sodass sich alles, was Sie von jq kennen, direkt übertragen lässt: Dateien abfragen, transformieren, zusammenführen und direkt bearbeiten, in Skripten und Pipelines, mit einem einzigen abhängigkeitsfreien Binary.
yq jq-Wrapper aus manchen Archiven; dieses Paket ersetzt ihn sauber, und weder python noch jq werden benötigt.
apt upgrade hält Sie immer auf der neuesten Version.
⚡ Hauptfunktionen von yq
🔄 Sechs Formate
YAML, JSON, XML, CSV/TSV, TOML und Properties — eines lesen, ein anderes ausgeben: yq -o=json '.' config.yaml konvertiert in einem Schritt.
🧠 jq-ähnliche Syntax
Vertraute Pfade, Pipes, Funktionen und Operatoren. Wer einen jq-Filter schreiben kann, kann yq sofort auf YAML anwenden.
✏️ In-Place-Bearbeitung
yq -i '.spec.replicas = 3' deploy.yaml — skriptgesteuerte Änderungen an Kubernetes-Manifesten, CI-Konfigurationen und Compose-Dateien, Kommentare bleiben erhalten.
📦 Null Abhängigkeiten
Ein einzelnes statisches Go-Binary. Keine Runtime, keine Bibliotheken, kein python — ideal für minimale Container und CI-Runner.
🔀 Merge & Anchors
Führt mehrere Dateien tief zusammen, löst YAML-Anchors und -Aliasse auf, verarbeitet Multi-Dokument-Streams — die schwierigen YAML-Fälle korrekt gelöst.
📖 Man-Page enthalten
Dieses Paket liefert die vollständige Man-Page zusammen mit dem Binary — man yq funktioniert offline, ganz nach Debian-Konvention.
🏆 Warum mit apt installieren?
- Flotten-tauglich: ein Repo in Ihren Basis-Images, und jeder Server, Container und CI-Runner erhält dasselbe aktuelle yq
- Kein curl-to-bin: ein GPG-signiertes Repository statt Binaries von Hand nach
/usr/local/binherunterzuladen - Das richtige yq: garantiert überall mikefarah/yq v4-Semantik — keine Überraschungen durch den Python-Wrapper auf manchen Maschinen
- Automatische Updates: neue Upstream-Releases kommen mit Ihrem normalen
apt upgrade - Multi-Arch: amd64, arm64, armhf, ppc64el, s390x und riscv64
📦 Installation von deb.griffo.io
Schritt 1: Repository hinzufügen
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh und Zed; yq ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.
Schritt 2: yq installieren
sudo apt install -y yqapt install -y yq🚀 Erster Start
yq '.services | keys' docker-compose.yml # query
yq -i '.image.tag = "1.2.3"' values.yaml # edit in place
yq -o=json '.' config.yaml # YAML -> JSON📦 Paket-Build-Repository
Die Debian-Pakete werden automatisch in diesem GitHub-Repository erstellt und gepflegt:
- 📂 yq-debian - Builds der neuesten Releases
🔗 Verwandte Pakete
Auch verfügbar von deb.griffo.io:
- k9s - Kubernetes-TUI — passt perfekt zu yq für die Manifest-Arbeit
- lazydocker - Docker-TUI für die gerade bearbeiteten Compose-Dateien
- just - Ein Command-Runner für Ihre yq-Einzeiler
💝 Unterstützen Sie dieses Projekt
Wenn dieses Repository Ihnen Zeit und Aufwand spart, unterstützen Sie es doch bitte!