[英]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.