【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 小时前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
IMPYLH10 小时前
Linux 的 test 命令
linux·运维·服务器·chrome·bash
IMPYLH18 小时前
Linux 的 tee 命令
linux·运维·服务器·bash
IMPYLH2 天前
Linux 的 tac 命令
linux·运维·服务器·bash
IMPYLH2 天前
Linux 的 tail 命令
linux·运维·服务器·bash
迷途之人不知返5 天前
List的模拟实现
数据结构·c++·学习·list
月昤昽5 天前
ArchLinux更新遇到的GPG签名验证问题
linux·bash·archlinux
AI玫瑰助手5 天前
Python基础:数据类型的转换(int/str/list等互转)
windows·python·list
书源丶5 天前
三十二、Java集合(一)——Collection与List全家桶
java·windows·list
csdn2015_6 天前
Java List 去重
java·windows·list