【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变量
相关推荐
鸠摩智首席音效师30 分钟前
如何创建带参数的 Bash 别名 ?
linux·bash
逍遥德13 小时前
java Map Set List 扩容机制
java·开发语言·list
gjxDaniel19 小时前
Bash编程语言入门与常见问题
开发语言·bash
haokan_Jia21 小时前
【java使用LinkedHashMap进行list数据分组写入,顺序并没有按照原始顺序,原因分析】
java·开发语言·list
无心水1 天前
8、吃透Go语言container包:链表(List)与环(Ring)的核心原理+避坑指南
java·开发语言·链表·微服务·架构·golang·list
承渊政道1 天前
C++学习之旅【C++List类介绍—入门指南与核心概念解析】
c语言·开发语言·c++·学习·链表·list·visual studio
结衣结衣.1 天前
Redis中的List列表
redis·bootstrap·list
Engineer-Jsp2 天前
A problem occurred starting process ‘command ‘bash‘‘
开发语言·bash
HABuo2 天前
【linux进程控制(三)】进程程序替换&自己实现一个bash解释器
linux·服务器·c语言·c++·ubuntu·centos·bash
小学生波波2 天前
HarmonyOS6 - 鸿蒙双向滚动课程表案例
list·scroll·鸿蒙开发·课程表·harmonyos6