【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变量
相关推荐
ahauedu1 小时前
案例分析-Stream List 中取出值最大的前 5 个和最小的 5 个值
数据结构·list
jnrjian1 天前
USE_CONCAT in list OR 以及 filter Nest LOOP
数据结构·list
Am心若依旧4092 天前
[C++进阶[六]]list的相关接口模拟实现
开发语言·数据结构·c++·算法·list
齐 飞2 天前
使用jackson将xml和对象、List相互转换
xml·java·spring boot·后端·list
难以触及的高度2 天前
source ~/.bash_profile有什么用
开发语言·bash
丁总学Java2 天前
Java中List集合去重
java·开发语言·list
Licky132 天前
Centos中dnf和yum区别对比
linux·运维·架构·centos·bash
禁默2 天前
list从0到1的突破
数据结构·c++·list
_flierx2 天前
【C++】list 模拟实现
c++·windows·list
Yusei_05232 天前
C++基础知识7 list
c++·windows·list