【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变量
相关推荐
云深麋鹿9 小时前
C++ | 容器list
开发语言·c++·容器·list
Xiu Yan10 小时前
Java 转 C++ 系列:STL容器之list
java·开发语言·数据结构·c++·stl·list·visual studio
杨凯凡10 小时前
【016】集合框架总览:List/Set/Map 与线程安全
java·数据结构·list
xh didida11 小时前
C++ --list接口使用及实现
开发语言·c++·list
浅时光_c21 小时前
3 shell脚本编程
linux·开发语言·bash
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】01_说说ArrayList的底层原理/扩容规则
java·后端·面试·list
Lyyaoo.1 天前
【JAVA基础面经】List(Vector+ArrayList+LinkedList)
java·开发语言·list
IMPYLH2 天前
Linux 的 rm 命令
linux·运维·服务器·网络·bash
想唱rap3 天前
C++智能指针
linux·jvm·数据结构·c++·mysql·ubuntu·bash
噢,我明白了3 天前
Java 入门,详解List,Map集合使用
java·list·map