bash - 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 是我在谷歌搜索时发现的。也许有更好的方法来做到这一点?
解决方案
你可以告诉jq
为你做数学:
jq '[ .[].docs.count | tonumber ] | add'
推荐阅读
- python - 在表达式数据集python中删除值
- javascript - 为什么我的状态没有立即反映在反应中?
- karate - 如何使用空手道处理浏览器中的地理位置弹出窗口?
- react-native - 反应本机日期时间选择器选择
- mysql - Windows 10 上的 MySQL 8 - 时区
- c++ - 错误含义;以二进制形式打印数字
- reporting-services - 可以对 ssrs 组中的记录进行排名
- qt - QT 组合框的项目边框是通过 QAbstractItemView 的半径看到的
- vue.js - 如何在 vuejs 中获取复选框的状态是否已选中
- java - 登录android studio后尝试将用户重定向到新页面