【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变量
相关推荐
xuchaoxin13752 小时前
bash中的字符串处理@输出和格式化打印@echo@printf
chrome·bash
xuchaoxin13753 小时前
bash@特殊字符@环境变量符号@特殊参数@参数扩展和替换@字符串处理用法总结
开发语言·bash
dingdingfish3 小时前
Bash 学习 - 第2章:Definitions
bash·definition
xuchaoxin13753 小时前
bash@参数扩展@参数转换@参数扩展操作符
bash
提娜米苏14 小时前
非Root环境下的数据挂载解决方案:SSHFS与Mount详解
bash·sshfs
浪客灿心18 小时前
list_stack_queue
数据结构·list
这儿有一堆花1 天前
任何东西都可以转成 Base64!?
bash
wasp5201 天前
Banana Slides 深度解析:AI Core 架构设计与 Prompt 工程实践
人工智能·prompt·bash
市场部需要一个软件开发岗位1 天前
一个无人机平台+算法监督平台的离线部署指南
java·python·算法·bash·无人机·持续部署
HIT_Weston1 天前
121、【Ubuntu】【Hugo】首页板块配置:list 模板(一)
linux·ubuntu·list