2016-06-17 2 views
1

Для входа ниже:JQ фильтр и выходной формат

[{ 
    "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"  
    }, 
    { 
    ... 
    } 
}] 

Как JQ может генерировать строки с разделителями из различных объектов, как показано ниже?

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

новый для jq здесь. Я следовал примерам, но не мог понять, как форматировать вывод –

ответ

4

Соберите нужные поля в массив и использовать @csv для преобразования в строку CSV. Убедитесь, что вы получаете исходный результат.

jq -r '.[] | [ .commit.author.name, .commit.url, .commit.author.date ] | @csv' input.json 
Смежные вопросы