【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变量
相关推荐
owde19 小时前
顺序容器 -list双向链表
数据结构·c++·链表·list
第404块砖头19 小时前
分享宝藏之List转Markdown
数据结构·list
大乔乔布斯1 天前
AttributeError: module ‘smtplib‘ has no attribute ‘SMTP_SSL‘ 解决方法
python·bash·ssl
不知名。。。。。。。。2 天前
C++__list
开发语言·c++·list
jingshaoyou2 天前
Strongswan linked_list_t链表 注释可独立运行测试
数据结构·链表·网络安全·list
阳光_你好2 天前
解决用git bash终端 tail -f 命令查看日志中文乱码问题
开发语言·git·bash
长潇若雪3 天前
《STL 六大组件之容器篇:简单了解 list》
开发语言·c++·经验分享·list·类和对象
ydm_ymz5 天前
初阶8 list
c语言·开发语言·数据结构·c++·list
大锦终5 天前
详解list容器
c语言·开发语言·数据结构·c++·list
三体世界5 天前
C++ List的模拟实现
java·c语言·开发语言·数据结构·c++·windows·list