2016-06-17 15 views
1

Für einen Eingang unten:JQ-Filter und das Ausgabeformat

[{ 
    "commit": { 
    "author": { 
     "name": "Stephen Dolan", 
     "email": "[email protected]", 
     "date": "2013-06-22T16:30:59Z" 
    }, 
    "committer": { 
     "name": "Stephen Dolan", 
     "email": "[email protected]", 
     "date": "2013-06-22T16:30:59Z" 
    }, 
    "message": "Merge pull request #162 from stedolan/utf8-fixes\n\nUtf8 fixes. Closes #161" 
    "url":"https://api.github.com/repos/stedolan/jq/commits/d25341478381063d1c76e81b3a52e0592a7c997f"  
    }, 
    { 
    ... 
    } 
}] 

Wie eine getrennte Zeichenfolge von verschiedenen Objekten JQ erzeugen kann, wie unten gezeigt?

"Stephen Dolan", "https://api.github.com/repos/stedolan/jq/commits/d25341478381063d1c76e81b3a52e0592a7c997f", "2013-06-22T16:30:59Z" 
+0

neu zu jq hier. Ich folgte den Beispielen, konnte aber nicht herausfinden, wie man die Ausgabe formatiert –

Antwort

4

Sammeln Sie die Felder, die Sie in einem Array wollen und @csv in eine CSV-Zeile zu konvertieren verwenden. Stellen Sie sicher, dass Sie die rohe Ausgabe erhalten.

jq -r '.[] | [ .commit.author.name, .commit.url, .commit.author.date ] | @csv' input.json