【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变量
相关推荐
qetfw11 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
青春不朽51215 小时前
Python 的 list append 为什么是均摊 O(1)?拆开过度分配那张表,看容量翻倍背后的暗账
java·python·list
杜哥无敌2 天前
Git Bash + acme.sh 实现 SSL 证书自动续签(完整指南)
git·bash·ssl
Brilliantwxx2 天前
【Linux】基础IO(下):输出重定向、dup2 与 minishell 重定向实战
linux·运维·服务器·github·bash
纪念 2292 天前
C++ list讲解
c++·windows·list
闻缺陷则喜何志丹2 天前
vc入门宝典(九)
数据结构·list·mfc·存储·null·class
凉茶钱3 天前
list:哨兵节点,const_iterator 和 const iterator的区别与迭代器失效
数据结构·c++·list
lojox4 天前
C++ 手写 STL list(双向循环链表)原理剖析与实现
c++·链表·list
Brilliantwxx4 天前
【STM32】 RTC 实时时钟详解:从概念到预分频器
stm32·单片机·嵌入式硬件·mcu·bash
qetfw6 天前
Bash 内置与外部命令:type、command 与 builtin 验证
linux·开发语言·bash