【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变量
相关推荐
yuuki2332331 天前
【C++】二叉搜索树
java·c++·list
xiaoye-duck2 天前
C++ 手写 List 容器:揭秘 List 底层,从双向链表原理到完整功能落地
c++·面试·list
李少兄3 天前
解决 `java.util.HashSet cannot be cast to java.util.List` 报错
java·windows·list
小糯米6013 天前
C++链表和list
c++·链表·list
難釋懷3 天前
Redis消息队列-基于List实现消息队列
数据库·redis·list
HIT_Weston3 天前
126、【Ubuntu】【Hugo】首页板块配置:list 模板(五)
linux·ubuntu·list
鸠摩智首席音效师3 天前
如何在Bash中捕获标准错误到一个变量 ?
bash
掘根3 天前
【C++STL】list用法详解
开发语言·c++·list
dingdingfish4 天前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
xuchaoxin13754 天前
bash@脚本中的命令行参数解析基础@shift命令@getopts
bash