jq:如何连接数组和去除空格

jq: How to Catenate an Array and Strip Spaces

以下 jq 命令 (Windows) 成功地将所有 "text" 属性连接到一个字符串中,用单个 space 替换任何 space,尽管以一种迂回的方式。几乎正确。我真正想要的是首先替换 "text" 中的任何前导或尾随 space,然后连接所有 "text" 属性。不同之处在于不得删除嵌入的(非前导,非尾随)space。如何做到这一点?

jq ".segments[].words | map(.text?) | join(\",\") | gsub(\"[ ]\"; \"\") | gsub(\"[,]\"; \" \")"

考虑:

def trim: sub("^ *";"") | sub(" *$";"");

或者您可以简单地使用:gsub("^\s|\s*$";"")

还有其他方法可以 trim 一个字符串,但上面的内容应该可以帮助您入门。