检查 JSON 的更大价值

  • 本文关键字:JSON 检查 json bash expr
  • 更新时间 :
  • 英文 :


我需要一些建议.. 我正在编写一个 BASH 脚本,以检查 JSON 文件中的信息。 但是我需要检查大于用户输入的数字的值。

因此,如果用户输入 5.6(必须是十进制(,那么我将检查大于或等于此值的任何值。

"Buzz", 4.5
"Trashy Blonde", 4.1
"Berliner Weisse With Yuzu - B-Sides", 4.2
"Pilsen Lager", 6.3
"Avery Brown Dredge", 7.2
"Electric India", 5.2

所以它应该显示

"Pilsen Lager", 6.3
"Avery Brown Dredge", 7.2

我非常接近..但是需要一些关于表达的建议,请。

read -p "Enter the ABV value greater to display: "  ABV_Value
curl 'https://s3-eu-west-1.amazonaws.com/kg-it/devopsTest/api-punkapi-com-v2-beers.json' | jq  '.[] | .name,.abv' | {
while read name;
do
read abv
#if [ $abv -ge 5.1 ]; then
if [ $abv -ge $ABV_Value ]; then
echo "$name, $abv"
fi
done
}

目前我得到 - [: 4.5:预期的整数表达式

任何建议都将得到重视。

Bash 不支持平坦点运算。 但jq确实如此。

read -p "Enter the ABV value greater to display: " -r ABV_Value
curl 'https://s3-eu-west-1.amazonaws.com/kg-it/devopsTest/api-punkapi-com-v2-beers.json' |
jq -r --arg lim "$ABV_Value" '.[] | select(.abv>=($lim|tonumber)) |
""" + .name + "", " + (.abv|tostring)'

相关内容

  • 没有找到相关文章