這是使用“jq”命令決議 json 檔案的 bash 函式:
jq_fullpath_endkey() {
PATHARRAY=$(jq -c 'paths | select(.[-1] == "'$keyword'")|map(strings |= ".\(.)" | numbers |= "[\(.)]") | join("")' **${news.json}**)
}
這news.json是包含我想用 jq 決議的所有內容的 json 檔案。
一旦我用一個包含內容為字串${news.json}的名為的變數替換,該函式就會起作用。responsenews.json
以下是有效的命令:
PATHARRAY=$(jq -c 'paths | select(.[-1] == "'$keyword'")|map(strings |= ".\(.)" | numbers |= "[\(.)]") | join("")'**<<< "$response"**)
我的問題是如何使用 'json file' 作為 jq cmd 的一部分?我懷疑我使用的雙引號/單引號有問題。
uj5u.com熱心網友回復:
我用bash 中的“引數替換”解決了這個問題
myfile="news.json"
PATHARRAY=$(jq -c 'paths | select(.[-1] == "'$keyword'")|map(strings |= ".\(.)" | numbers |= "[\(.)]") | join("")' ${myfile})
相關概念: 變數替換 命令替換
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/471524.html
