【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变量
相关推荐
阿巴~阿巴~14 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
nyf_unknown1 天前
(vue)将文件夹打成tar包, Git Bash(推荐)具体使用
vue.js·git·bash
Hard but lovely2 天前
C++:stl-> list的模拟实现
开发语言·c++·stl·list
qiuyunoqy2 天前
list模拟实现
数据结构·c++·list
Quarkn2 天前
鸿蒙原生应用ArkUI之自定义List下拉刷新动效
list·harmonyos·arkts·鸿蒙·arkui
青春不流名4 天前
-bash: ll: 未找到命令
开发语言·bash
油丶酸萝卜别吃4 天前
java中在多线程的情况下安全的修改list
java·安全·list
七七七七074 天前
【C++ STL】list详解和模拟
开发语言·c++·list
lincats7 天前
一步一步学习使用LiveBindings(11) 绑定到自定义外观的ListBox
list·delphi·delphi 12.3·firedac·firemonkey·tlistview
程序员黄同学7 天前
Python 的列表 list 和元组 tuple 有啥本质区别?啥时候用谁更合适?
windows·python·list