【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变量
相关推荐
dingdingfish2 小时前
Bash学习 - 第6章:Bash Features,第10节:The Restricted Shell
bash·shell·rbash·restrict
ShineWinsu3 小时前
对于模拟实现C++list类的详细解析—上
开发语言·数据结构·c++·算法·面试·stl·list
数形长夏4 小时前
命令行界面的神秘符号,是上一代程序复用的尝试
架构·bash·batch
ShineWinsu6 小时前
对于C++中list的详细介绍
开发语言·数据结构·c++·算法·面试·stl·list
墨雪不会编程21 小时前
C++之【list详解篇一】如何玩好链表
c++·链表·list
dingdingfish1 天前
Bash学习 - 第6章:Bash Features,第7节:Arrays
bash·shell·array·index·associate
wsad05321 天前
Linux Shell脚本执行方式全解析:source、点号、路径、bash与exec的区别
linux·运维·bash·shell
叠叠乐1 天前
EasyTier 免费自建自用5$每个月的服务器
linux·运维·bash
白太岁2 天前
操作系统开发:(8) 任务/线程的创建、调度与管理(实现 tasks.h 与 tasks.c)
c语言·开发语言·bash
之歆3 天前
Bash 循环与函数、Linux 进程管理
linux·chrome·bash