【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变量
相关推荐
黑子哥呢?6 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农6 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
liuyuzhongcc10 小时前
List 接口中的 sort 和 forEach 方法
java·数据结构·python·list
不会Hello World的小苗1 天前
Java——列表(List)
java·python·list
JANGHIGH1 天前
c++ std::list使用笔记
c++·笔记·list
干炒 牛河1 天前
数据结构:双链表list
数据结构·list
早起的年轻人2 天前
Java List 自定义对象排序 Java 8 及以上版本使用 Stream API
java·windows·list
jay丿2 天前
Redis 中列表(List)常见命令详解
数据库·redis·list
小小小白的编程日记2 天前
List的基本功能(1)
数据结构·c++·算法·stl·list
卫胡迪3 天前
Linux应用之构建命令行解释器(bash进程)
linux·运维·bash