[英]using jq within a shell script
怀疑这是我正在犯的新手错误,但试图解析json,例如
{"current_observation": {"observation_time": "Last Updated on July 4, 12:53 PM CDT" } }
从诸如
#!/bin/sh
jq '.' test.json
我从./test.sh收到错误响应,如下所示
syntax error, unexpected INVALID_CHARACTER, expecting $end '.'1 compile error
现在,如果我做一个jq'。 从终端中的命令行运行test.json,它按预期执行,但是尝试在脚本中使用它时,失败的原因如详述。
有人能指出我的错误吗?
我可以使用以下脚本重现您的错误:
#!/bin/sh
jq \'.\' test.json
我认为您只需要删除。中的引号即可.
尽管对我来说,使用转义的引号可以很好地工作。
像这样尝试:
#!/bin/sh
jq . test.json
可能与此jq的错误报告有关。 (尽管可能不行,因为它在命令行上对您有用)
逗号产生错误。 您应该引用它:
{"current_observation": {"observation_time": "Last Updated on July 4\u002c 12:53 PM CDT" } }
测试:
$ jq '.' temp.txt
{
"current_observation": {
"observation_time": "Last Updated on July 4, 12:53 PM CDT"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.