【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变量
相关推荐
jiunian_cn1 小时前
【Redis】list数据类型相关指令
数据库·redis·list
拓云者也2 小时前
常用的生物信息学数据库以及处理工具
数据库·python·oracle·r语言·bash
超级大福宝1 天前
PowerShell 实现类似 Bash 的补全行为
bash·powershell
田野追逐星光1 天前
STL中容器list -- 讲解超详细
开发语言·c++·list
欧阳x天1 天前
STL讲解(七)——list容器的模拟实现
c++·windows·list
f狐0狸x2 天前
【C++修炼之路】C++ list容器基本用法详解
开发语言·c++·list
松☆2 天前
Dart 中的常用数据类型详解(含 String、数字类型、List、Map 与 dynamic) ------(2)
数据结构·list
凤年徐2 天前
C++ STL list 容器详解:使用与模拟实现
开发语言·c++·后端·list
dingdingfish3 天前
GNU Parallel 学习 - 第1章:How to read this book
bash·shell·gnu·parallel
郝学胜-神的一滴3 天前
Python List操作:+、+=、extend的深度解析
开发语言·数据结构·python·程序人生·架构·list