【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变量
相关推荐
典典分享指南6 小时前
用结构化数据管理产品知识库
scala·bash·batch·actionscript
charlie1145141918 小时前
浅谈C++的列表初始化std::initializer_list
开发语言·数据结构·c++·list·开源项目
典典分享指南2 天前
一品牌多产品线的 GEO 内容矩阵:从策略到落地
java·c#·bash·symfony
小刘在重生~2 天前
Java 集合|Collection、List、ArrayList、LinkedList、泛型、Collections 工具类
java·数据结构·list
暖焰核心4 天前
迭代器与模板的结合——stl的list
c++·windows·list
tangwangbi5 天前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
Draw Stars5 天前
Git BASH安装教程
开发语言·git·bash
vortex55 天前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
蜀道山老天师5 天前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
s_w.h5 天前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash