【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变量
相关推荐
2301_780669861 天前
List(特有方法、遍历方式、ArrayList底层原理、LinkedList底层原理,二者区别)
java·数据结构·后端·list
mrcrack1 天前
洛谷 B3656 【模板】双端队列 1 方案1+离线处理+一维数组+偏移量 方案2+stl list
c++·list
White_Can1 天前
《C++11 :列表初始化、initializer_list、引用折叠、完美转发与可变参数模板》
c++·list·c++11
星火开发设计2 天前
Python数列表完全指南:从基础到实战
开发语言·python·学习·list·编程·知识·期末考试
ChoSeitaku2 天前
16.C++入门:list|手撕list|反向迭代器|与vector对比
c++·windows·list
liliangcsdn2 天前
bash中awk如何切分输出
开发语言·bash
ChoSeitaku2 天前
15.C++入门:list|构造|使用|迭代器失效
开发语言·c++·list
baobao熊2 天前
【HarmonyOS 6】List之间实现拖拽排序
华为·list·harmonyos
ASEpochs3 天前
Vsocde中‘sh’不是内部或外部命令,也不是可运行的程序或批量处理文件--已解决
git·vscode·bash
叠叠乐3 天前
bash sh为什么终端不能tab补全
开发语言·bash