Top 10 JQ -Befehle, die jeder Linux -Entwickler wissen sollte
- 1892
- 364
- Lana Saumweber
JQ ist ein vielseitiger Befehlszeilen-JSON-Prozessor für Linux, mit dem Entwickler JSON-Daten schnell und effizient analysieren, filtern und transformieren können. Die leistungsstarken Funktionen machen es zu einem unverzichtbaren Tool für alle, die mit JSON -Dateien unter Linux -Systemen arbeiten. In diesem Artikel werden wir die 10 wichtigsten JQ -Befehle abdecken, die jeder Linux -Entwickler wissen sollte, um seine JSON -Verarbeitungsaufgaben zu optimieren.
Beispiel JSON -Dateiinhalt
Für dieses Tutorial können Sie das folgende Beispiel JSON -Daten in einer Datei benannt verwenden Eingang.JSON. Diese JSON -Daten stellen eine Reihe von Personen mit ihren jeweiligen Namen, Altersgruppen, Ländern und Adressen dar:
["Name": "Alice", "Alter": 35, "Land": "USA", "Adresse": "Street": "123 Main St", "City": "New York", "Staat ":" NY "," ZIP ":" 10001 ", " Name ":" Bob "," Alter ": 28," Land ":" Kanada "," Adresse ": " Street ":" 456 Maple Ave "," Stadt ":" Toronto "," Provinz ":" On "," Postal_code ":" M5v 1A1 ", " Name ":" Charlie "," Alter ": 42," Land ": "USA", "Adresse": "Street": "789 Oak St", "Stadt": "San Francisco", "Staat": "CA", "Zip": "94102", "Name" : "David", "Alter": 23, "Land": "Kanada", "Adresse": "Street": "321 Pine St", "Stadt": "Vancouver", "Provinz": "BC", "postal_code": "v6b 2p4"]12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | ["Name": "Alice", "Alter": 35, "Land": "USA", "Adresse": "Street": "123 Main St", "City": "New York", "Staat ":" NY "," ZIP ":" 10001 ", " Name ":" Bob "," Alter ": 28," Land ":" Kanada "," Adresse ": " Street ":" 456 Maple Ave "," Stadt ":" Toronto "," Provinz ":" On "," Postal_code ":" M5v 1A1 ", " Name ":" Charlie "," Alter ": 42," Land ": "USA", "Adresse": "Street": "789 Oak St", "Stadt": "San Francisco", "Staat": "CA", "Zip": "94102", "Name" : "David", "Alter": 23, "Land": "Kanada", "Adresse": "Street": "321 Pine St", "Stadt": "Vancouver", "Provinz": "BC", "postal_code": "v6b 2p4"] |
Speichern Sie diesen JSON -Inhalt in einer Datei mit dem Namen "Eingang.json ” und verwenden Sie es als Eingabe für die verschiedenen JQ -Befehle im Tutorial. Diese Beispieldaten helfen Ihnen dabei, die verschiedenen JQ -Befehle und -Techniken, die im Artikel beschrieben wurden, besser zu verstehen und zu üben.
10 JQ -Befehlsbeispiele für Linux -Entwickler
- Print JSON -Daten
Übergeben Sie die JSON -Datei einfach an den JQ -Befehl, gefolgt von einem Zeitraum (
.
):JQ '.'Eingabe.JSON
- Abrufen Sie einen bestimmten JSON -Schlüssel ab
Verwenden Sie die folgende Syntax, um den Wert eines bestimmten Schlüssels aus einem JSON -Objekt zu extrahieren:
JQ '.Taste 'Eingabe.JSON1 JQ '.Taste 'Eingabe.JSON Zum Beispiel den Wert des Werts der "Name" Schlüssel, Verwendung:
JQ '.Name 'Eingabe.JSON
- Zugang verschachtelte JSON -Werte
Verwenden Sie den Punkt, um auf verschachtelte JSON -Werte zuzugreifen (DOT (
JQ '.Key1.Key2.key3 'Eingabe.JSON.
) Notation:1 JQ '.Key1.Key2.key3 'Eingabe.JSON Zum Beispiel den Wert des Werts der "Stadt" Schlüssel unter "Adresse", verwenden:
JQ '.Adresse.Städte -Input.JSON
- Iterieren Sie über JSON -Arrays
Verwenden Sie die quadratischen Klammern (
[]
) um über JSON -Arrays zu iterieren:JQ '.[] 'Eingabe.JSON
Verwenden Sie das Rohr, um bestimmte Schlüssel aus jedem Objekt innerhalb des Arrays zu extrahieren (das Rohr
|
) Operator:JQ '.[] | .Taste 'Eingabe.JSON
- Filter JSON -Daten
Verwenden Sie die Auswahl der Funktion: Um JSON -Daten basierend auf bestimmten Bedingungen zu filtern:
JQ '.[] | wählen(.Key == "Wert") 'Eingabe.JSON1 JQ '.[] | wählen(.Key == "Wert") 'Eingabe.JSON Zum Beispiel, um Objekte in einem Array mit einem zu filtern "Alter" größer als 30, verwenden:
JQ '.[] | wählen(.Alter> 30) 'Eingabe.JSON
- Karte und transformieren JSON -Daten
Um JSON -Daten zu kartieren und zu transformieren, verwenden Sie die Curly -Klammern (
JQ '.[] | Key1: .Key1, Key2: .key2 'Eingabe.JSON):
1 JQ '.[] | Key1: .Key1, Key2: .key2 'Eingabe.JSON Zum Beispiel ein neues JSON -Objekt nur mit dem erstellen "Name" Und "Alter" Schlüssel, verwenden Sie:
JQ '.[] | Name: .name Alter: .Alter 'Eingabe.JSON
- Kombinieren Sie mehrere JSON -Dateien
Verwenden Sie die Zusammenführung von zwei JSON -Dateien die
*
Operator:JQ -S '.[0] * .[1] 'Datei1.JSON -Datei2.JSON
- Arithmetische Operationen durchführen
JQ kann arithmetische Operationen mit numerischen JSON -Werten ausführen:
JQ '.Nummer 1 + .Number2 'Eingabe.JSON1 JQ '.Nummer 1 + .Number2 'Eingabe.JSON Verwenden Sie beispielsweise die Summe von zwei Zahlen in einer JSON -Datei: Verwenden Sie:
JQ '.Nummer 1 + .Number2 'Eingabe.JSON
- Sortieren Sie JSON -Daten
Verwenden Sie das, um JSON -Daten basierend auf einem bestimmten Schlüssel zu sortieren 'Sortieren nach' Funktion:
JQ '.[] | Sortieren nach(.Schlüssel) 'Eingabe.JSON1 JQ '.[] | Sortieren nach(.Schlüssel) 'Eingabe.JSON Zum Beispiel eine Reihe von Objekten nach dem sortieren "Alter" Schlüssel, Verwendung:
JQ '.[] | Sortieren nach(.Alter) 'Input.JSON
- Gruppe JSON -Daten
Verwenden Sie die anhand eines bestimmten Schlüssels anhand eines bestimmten Schlüssel 'gruppiere nach' Funktion:
JQ 'Group_by (.Schlüssel) 'Eingabe.JSON1 JQ 'Group_by (.Schlüssel) 'Eingabe.JSON Zum Beispiel, um eine Reihe von Objekten nach dem zu gruppieren "Land" Schlüssel, Verwendung:
JQ 'Group_by (.Land) 'Input.JSON
Abschluss
Diese Top 10 Essential JQ -Befehle bieten eine solide Grundlage für Linux -Entwickler, die mit JSON -Dateien arbeiten. Wenn Sie diese Befehle beherrschen.
Wenn Sie Erfahrungen mit JQ sammeln, werden Sie noch fortgeschrittenere Funktionen und Techniken entdecken, die Ihren spezifischen Anforderungen gerecht werden. Das JQ-Befehlszeilen-Tool ist ein unschätzbares Vorteil für jeden Entwickler, der mit JSON-Daten unter Linux-Systemen arbeitet, und das Wissen, dass diese wichtigen Grundsätze ein starker Ausgangspunkt auf Ihrem Weg zum JQ-Power-Benutzer werden, dienen als starker Ausgangspunkt.
Um Ihr JQ -Wissen weiter zu erweitern, sollten Sie in die offizielle JQ -Dokumentation eintauchen (https: // stedolan.Github.IO/JQ/Manual/) und Erkundung von Community -Ressourcen wie Tutorials, Blog -Posts und Foren. Wenn Sie Ihre JQ -Fähigkeiten weiterhin schärfen, werden Sie das volle Potenzial dieses leistungsstarken JSON -Verarbeitungswerkzeugs ausschütten und es zu einem integralen Bestandteil Ihres Linux -Entwicklungs -Toolkits macht.
- « Verständnis 2> & 1 in einem Anfänger -Leitfaden
- Den Unterschied zwischen Git Pull und Git Fetch verstehen »