我有以下jq命令:
cat myFile.json | jq-r'.tickets[]|[.created_在.id、.via.channel、.tags[]|@csv'
并输出一行,如:
“2016-02-02T10:00:00Z”,99999,“web”,“tag1”,“tag2”,“tag3”,“tag4”
我正在尝试加入.tags[]数组,以便获得:
“2016-02-19T13:25:55Z”,99999,“网络”,“tag1,tag2,tag3,tag4”
我试过一些方法,比如
cat myFile.json | jq-r'.tickets[]|[.created_at.id、.via.channel、(.tags[]| join(,“”)]|@csv'
但它给出了如下错误:
jq:error(at<;stdin>;0):无法在字符串(“tag1…”)上迭代
那么,我如何在上面的命令中加入.tags[],从而获得单个字符串值(其中包含逗号分隔的标记值),而不是单独的字段
您需要调用tags列表中的join(),而不是单个标记。请尝试:
jq-r'.tickets[]|[.在.id.via.channel创建,(.tags | join(“,”)))|@csv'