【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变量
相关推荐
bing_1588 小时前
Spring Boot 项目中判断集合(List、Set、Map)不能为空且不为 null的注解使用
spring boot·后端·list
西幻凌云1 天前
认识STL序列式容器——List
开发语言·c++·stl·list·序列式容器
张志翔的博客2 天前
如何在 macOS 上切换 Shell:从 Bash 到 Zsh 或其他 Shell
开发语言·macos·bash
zhengqiqiqinqin2 天前
reboot提示 -bash: fork: retry: 没有子进程
开发语言·bash
顾安r3 天前
11.22 脚本 手机termux项目分析(bash)
前端·python·stm32·flask·bash
valan liya3 天前
C++list
开发语言·数据结构·c++·list
鸽鸽程序猿4 天前
【Redis】List类型介绍
数据库·redis·list
xlq223225 天前
16.17.list(上)
c++·list
云泽8086 天前
C++ List 容器详解:迭代器失效、排序与高效操作
开发语言·c++·list
xlq223226 天前
15.list(上)
数据结构·c++·list