【bash工具】jq遍历list

jq遍历list的两种方式

方法一:read -r + while循环 按行读取

bash 复制代码
$rows=$(cat file.json | jq -rc '@base64')
while IFS= read -r line; do    # IFS必须为空,才能正确按行处理
	echo $line | jq -r '.ID'   # 获取ID字段
done < file    # 读取文件内容
# done <<< "$str"  # here string方式读取bash变量

方法二:base64编码 + for循环 读取

bash 复制代码
$rows=$(cat file.json | jq -rc '@base64') # 紧凑方式输出json并编码,这样就没有空格字符
# for只能按空白字符(空格、换行符)来分割string。所以必须先用base64编码去除空格
for row in $rows; do
	echo $row | base -d | jq -r '.ID'   # base64解码,获取ID字段
done < file    # 读取文件内容
# done <<< "$str"  # here string方式读取bash变量
相关推荐
泽02028 小时前
C++之STL--list
开发语言·c++·list
背太阳的牧羊人21 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
qq_433554541 天前
C++ list代码练习、set基础概念、set对象创建、set大小操作
开发语言·c++·list
IGP91 天前
20250606-C#知识:List排序
c#·list
无聊的小坏坏2 天前
环境变量深度解析:从配置到内核的全链路指南
linux·bash
Chuncheng's blog2 天前
如何基于Mihomo Party http端口配置git与bash命令行代理
git·http·bash
字节高级特工2 天前
【Linux篇】0基础之学习操作系统进程
linux·运维·服务器·数据结构·windows·学习·list
三两肉3 天前
Java 中 ArrayList、Vector、LinkedList 的核心区别与应用场景
java·开发语言·list·集合
豆芽脚脚3 天前
spel 多层list嵌套表达式踩坑记
windows·list·spel
難釋懷4 天前
Vue-Todo-list 案例
前端·vue.js·list