JQ解析JSON显示多字段使用内部函数时遇到的有趣问题
想得到 "小张 20200812-142501" 结果,就要使用内部函数 strflocaltime test.json { "LiveInfo": { "nick": "小张", "startTime": 1597213501 } } 方法1: cat test.json|jq -M ".LiveInfo|(.nick + \" \" + (.startTime|strflocaltime(\"%%Y%%m%%d-%%H%%M%%S\")|tostring) )" 显示:"小张 20200812-142501" nick值为中文时 JQ 加 -r 参数出错 jq: error: writing output failed: Invalid argument nick值为英文时 JQ 加 -r 正常输出 方法2: cat test.json|jq -M ".LiveInfo|\"\(.nick)_\(.startTime)\"" 显示:"小张_1597213501" cat test.json|jq -M ".LiveInfo|\"\(.nick)_\(.startTime|strflocaltime(\"%%Y%%m%%d-%%H%%M%%S\"))\"" 'strflocaltime' is not recognized as an internal or external command 结论:如果想使用JQ的内部函数请使用方法1