首页 > 解决方案 > Bash 脚本将无整数变量转换为整数

问题描述

我有一个 bash 脚本,我在其中提出如下请求

GET "/_cat/indices?h=docs.count&format=json" | jq `.[]."docs.count"` 

SAVEIFS=$IFS
IFS=$'\n'
response=($response)
IFS=$SAVEIFS

for (( i=0; i<${#response[@]}; i++ ))
do

echo "${response[$i]}"

done

我得到的结果如下:

"188"
"363"
"346224"

我想将这些总结为一个大数字,但我只会遇到某种错误,因为它们不是数字。我尝试了几种不同的解决方案,我在谷歌上找到了,但我没有成功转换为整数(数字)。我在 bash 方面的技能不是那么好。有没有人有我应该怎么做的解决方案?

IFS 是我在谷歌搜索时发现的。也许有更好的方法来做到这一点?

标签: bashnumbersscript

解决方案


你可以告诉jq为你做数学:

jq '[ .[].docs.count | tonumber ] | add'

推荐阅读