###用sh ``` 用sh ``json失败

###用sh

用sh

如果你希望使用 Shell 脚本来实现同样的功能,你可以编写一个简单的 Shell 脚本来执行。以下是一个示例 Shell 脚本,它可以读取 JSON 文件,并将每个章节保存到单独的文本文件中:

#!/bin/bash# JSON 文件路径
json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"# 读取 JSON 文件
json_data=$(cat "$json_file_path")# 解析 JSON 数据并保存章节到文本文件中
index=1
echo "$json_data" | jq -c '.[]' | while read -r chapter; dochapter_text=$(echo "$chapter" | jq -r '.content')echo "$chapter_text" > "chapter_$index.txt"echo "章节 $index 已保存到 chapter_$index.txt"((index++))
done

请确保在执行脚本之前安装了 jq 工具,它用于解析 JSON 数据。你可以使用以下命令在大多数 Linux 发行版上安装 jq

sudo apt-get install jq

保存以上代码为一个 .sh 文件,比如 save_chapters.sh,然后在终端中运行该脚本即可。记得给该脚本执行权限:

chmod +x save_chapters.sh
./save_chapters.sh

脚本会读取指定的 JSON 文件,然后将每个章节保存到名为 chapter_计数.txt 的文本文件中。

~ $
~ $ # JSON 文件路径
~ $ json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"
~ $
~ $ # 读取 JSON 文件
~ $ json_data=$(cat "$json_file_path")
~ $
~ $ # 解析 JSON 数据并保存章节到文本文件中
~ $ index=1
~ $ echo "$json_data" | jq -c '.[]' | while read -r chapter; do
>     chapter_text=$(echo "$chapter" | jq -r '.content')
>     echo "$chapter_text" > "chapter_$index.txt"
>     echo "章节 $index 已保存到 chapter_$index.txt"
>     ((index++))
> done
jq: error (at <stdin>:1): Cannot index array with string "content"
章节 1 已保存到 chapter_1.txt
jq: error (at <stdin>:1): Cannot index string with string "content"
章节 2 已保存到 chapter_2.txt
~ $

看起来在解析 JSON 数据时出现了一些问题。请尝试使用以下更新后的 Shell 脚本,其中对 JSON 数据进行了调整,以确保可以正确解析并保存章节内容到文本文件中:

#!/bin/bash# JSON 文件路径
json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"# 读取 JSON 文件
json_data=$(cat "$json_file_path")# 解析 JSON 数据并保存章节到文本文件中
index=1
echo "$json_data" | jq -c '.[] | .content' | while read -r chapter_text; doecho "$chapter_text" > "chapter_$index.txt"echo "章节 $index 已保存到 chapter_$index.txt"((index++))
done

请将以上代码保存为一个 .sh 文件,比如 save_chapters.sh,然后在终端中运行该脚本。这次应该可以正确解析 JSON 数据并保存章节内容到文本文件中。

~ $ # 读取 JSON 文件
~ $ json_data=$(cat "$json_file_path")
~ $
~ $ # 解析 JSON 数据并保存章节到文本文件中
~ $ index=1
~ $ echo "$json_data" | jq -c '.[] | .content' | while read -r chapter_text; do
>     echo "$chapter_text" > "chapter_$index.txt"
>     echo "章节 $index 已保存到 chapter_$index.txt"
>     ((index++))
> done
jq: error (at <stdin>:9): Cannot index array with string "content"
~ $
~ $
~ $

看起来还是出现了相同的问题。这可能是因为 JSON 数据的格式不符合预期,或者 jq 命令的使用方法不正确。让我们尝试使用不同的方法来解析 JSON 数据。

请尝试以下更新后的脚本,使用 jq 来直接循环遍历数组,并且在循环中获取章节内容并保存到文件中:

#!/bin/bash# JSON 文件路径
json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"# 读取 JSON 文件并解析章节内容
index=1
jq -r '.[] | .content' "$json_file_path" | while IFS= read -r chapter_text; doecho "$chapter_text" > "chapter_$index.txt"echo "章节 $index 已保存到 chapter_$index.txt"((index++))
done

保存更新后的脚本,并在终端中运行。这应该可以正确解析 JSON 数据并将章节内容保存到文本文件中。

~ $
~ $ # JSON 文件路径
~ $ json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"
~ $
~ $ # 读取 JSON 文件并解析章节内容
~ $ index=1
~ $ jq -r '.[] | .content' "$json_file_path" | while IFS= read -r chapter_text; do
>     echo "$chapter_text" > "chapter_$index.txt"
>     echo "章节 $index 已保存到 chapter_$index.txt"
>     ((index++))
> done
jq: error (at /storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json:9): Cannot index array with string "content"
~ $
~ $

看起来仍然出现了相同的问题。这可能是因为 JSON 数据中包含了不符合预期的格式或结构。让我们尝试在 jq 命令中做一些修改,以更好地处理数组数据。

请尝试以下更新后的脚本,使用 jq 从数组中提取每个对象的内容,并在循环中逐一保存到文件中:

#!/bin/bash# JSON 文件路径
json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"# 读取 JSON 文件并解析章节内容
index=1
jq -c '.[]' "$json_file_path" | while IFS= read -r chapter; dochapter_text=$(echo "$chapter" | jq -r '.content')echo "$chapter_text" > "chapter_$index.txt"echo "章节 $index 已保存到 chapter_$index.txt"((index++))
done

保存更新后的脚本,并在终端中运行。这应该可以正确解析 JSON 数据并将章节内容保存到文本文件中。

我是说先遍历目录结构

明白了,你想要遍历 JSON 数据中的目录结构,并将每个章节内容保存到相应的文件中。让我们更新脚本以实现这一目标:

#!/bin/bash# JSON 文件路径
json_file_path="/storage/emulated/0/Apktool_M/配音大师_v1.0.6(6)_base_src/assets/m_adm_inner.json"# 遍历 JSON 数据中的目录结构并解析章节内容
index=1
jq -c '.[]' "$json_file_path" | while IFS= read -r chapter; do# 提取章节标题和内容title=$(echo "$chapter" | jq -r '.title')content=$(echo "$chapter" | jq -r '.content')# 创建章节目录(如果不存在)mkdir -p "$title"# 保存章节内容到文件中echo "$content" > "$title/chapter_$index.txt"echo "章节 $index 已保存到 $title/chapter_$index.txt"((index++))
done

这个脚本将遍历 JSON 数据中的每个章节,创建相应的目录,并将章节内容保存到对应的文件中。请保存更新后的脚本,并在终端中运行。

打开这个文件吧

很抱歉,由于我是一个基于文本的 AI 模型,无法直接打开文件。但是,你可以使用你喜欢的文本编辑器或终端命令来打开文件。如果你使用的是终端,可以尝试使用 cat 命令来查看文件的内容,比如:

cat "章节目录/章节文件名.txt"

你只需将 “章节目录” 替换为实际的目录名称,“章节文件名.txt” 替换为实际的文件名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/782682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux实践室】Linux用户管理实战指南:用户权限切换操作详解

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux实践室、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 &#x1f514;图形化界面登录2.2 &#x1f514;使用login…

Collection与数据结构 链表与LinkedList (一):链表概述与单向无头非循环链表实现

1.ArrayList的缺点 上篇文章我们已经对顺序表进行了实现,并且对ArrayList进行了使用,我们知道ArrayList底层是使用数组实现的. 由于其底层是一段连续空间&#xff0c;当在ArrayList任意位置插入或者删除元素时&#xff0c;就需要将后序元素整体往前或者往后搬移&#xff0c;时…

mysql 条件/系统/加密/其它函数

学习了日期时间函数&#xff0c;接着学习条件、系统、加密和其它函数。 3&#xff0c;条件判断函数 条件判断函数也称为控制流程函数&#xff0c;根据满足的条件的不同&#xff0c;执行相应的流程。MySQL中进行条件判断的函数有IF、IFNULL和 CASE。 函数 说明 IF(expr,v1,v2…

二叉树寻找祖先问题-算法通关村

二叉树寻找祖先问题-算法通关村 1 最近公共祖先问题 LeetCode236&#xff1a;给定一个二叉树&#xff0c;找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为&#xff1a;“对于有根树T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足是…

代码随想录笔记|C++数据结构与算法学习笔记-动态规划(〇)|

本文是简单的视频总结&#xff1a;从此再也不怕动态规划了&#xff0c;动态规划解题方法论大曝光 &#xff01;详细信息还请看代码随想录讲解视频 文章目录 动态规划的常见类型动态规划的误区动规五步曲DP数组以及下标的含义递推公式DP数组如何初始化DP数组遍历顺序打印DP数组…

GeoLite2 geoip数据库下载和使用

GeoLite2 数据库是免费的 IP 地理定位数据库&#xff0c;与MaxMind 的 GeoIP2 数据库相当&#xff0c;但准确度较低 。GeoLite2 国家、城市和 ASN 数据库 每周更新两次&#xff0c;即每周二和周五。GeoLite2 数据还可作为 GeoLite2 Country 和 GeoLite2 City Web 服务中的 Web …

Kotlin 中的类和构造方法

Kotlin 中的类与接口和 Java 中的类与接口还是有区别的。例如&#xff0c;Koltin 中的接口可以包含属性声明&#xff0c;与 Java 不同的是。Kotlin 的声明默认是 final 和 public 的。此外&#xff0c;嵌套的类默认并不是内部类&#xff1a;它们并没有包含对其它外部类的隐式引…

实施阶段(2024年3月)

【项目活动1】需求分析 学生&#xff1a;在系统中可以账号登陆&#xff0c;查看今日菜谱&#xff0c;点餐反馈。 食堂管理人员&#xff1a;对原始数据整合&#xff0c;显示菜品结果统计&#xff0c;并根据统计结果对菜品供应量进行调整反馈&#xff0c;避免浪费。 【项目活动…

MySQL开窗函数

测试环境&#xff1a;mysql8.0.18 官方文档&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/window-functions.html 一、窗口函数介绍二、语法结构三、自定义窗口1.rows&#xff08;重点&#xff09;2.range3.默认窗口 四、常用窗口函数示例1.row_number & rank &…

C++之红黑树插入+查找功能实例(二百六十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

产品概述 Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品&#xff0c;支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据&#xff0c;已应用于数百家企业生产&#xff0c;也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主…

当代深度学习模型介绍--循环神经网络(RNNs)

AI大模型学习 方向一&#xff1a;AI大模型学习的理论基础 模型和应用的多样化&#xff1a;随着研究的深入&#xff0c;深度学习领域出现了多种创新的模型架构&#xff1a; 卷积神经网络&#xff08;CNNs&#xff09;专门针对图像处理任务进行了优化&#xff0c;通过模拟生物视…

『Apisix系列』破局传统架构:探索新一代微服务体系下的API管理新范式与最佳实践

文章目录 『Apisix基石篇』『Apisix入门篇』『Apisix进阶篇』『Apisix安全篇』 『Apisix基石篇』 &#x1f680; 手把手教你从零部署APISIX高性能API网关 利用Docker-compose快速部署Apache APISIX及其依赖组件&#xff0c;实现高效的API网关搭建通过编写RPM安装脚本来自动化安…

IDEA MyBatisCodeHelper Pro最新版(持续更新)

目录 0. 你想要的0.1 包下载0.2 使用jh 1. 功能介绍2. 下载安装2.1 在idea中插件市场安装2.2 在jetbrains插件市场下载安装 3. 简单使用3.1 创建一个SpringBoot项目3.2 配置数据库3.3 一键生成实体类、mapper 0. 你想要的 0.1 包下载 测试系统&#xff1a;Windows&#xff08…

ERP与MES系统深度对接详细解决方案

此方案适合绝大部分生产型企业&#xff0c;企业如果有用到ERP&#xff0c;MES&#xff0c;WMS等其他系统的。可以借鉴以下的对接方案。 在ERP与MES系统对接的具体内容中&#xff0c;物料管理、出入库信息、物料清单&#xff08;BOM&#xff09;、生产计划、生产领料、生产用料的…

【吊打面试官系列】Redis篇 -Redis 回收进程如何工作的?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis 回收进程如何工作的&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; ​Redis 回收进程如何工作的&#xff1f; 一个客户端运行了新的命令&#xff0c;添加了新的数据。Redi 检查内存使用情况&#xff0c;如 果…

浅析AI大模型当前存在的技术瓶颈和限制及解决方案

方向五&#xff1a;未来发展趋势与挑战 提示&#xff1a;展望AI大模型学习的未来发展趋势&#xff0c;并讨论当前面临的主要挑战。可以关注新技术、新方法的出现&#xff0c;以及它们对AI大模型学习的影响&#xff1b;同时&#xff0c;也可以分析当前存在的技术瓶颈和限制&…

P2802 回家

P2802 回家 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 虽然是普及-难度的题&#xff0c;但是感觉细节有很多。 细节&#xff1a; bfs第一次到 ( i , j ) (i, j) (i,j)&#xff0c;但是距离不一定是最小的 鼠标是一次性物品 血量到达 ( x x , y y ) (xx, yy) (xx,yy)为…

【文献分享】 机器学习 + 分子动力学 + 第一性原理计算 + 热力学性质(熔化温度 热导率 热膨胀系数)

分享一篇关于机器学习 分子动力学 第一性原理 熔化温度&#xff08;熔化温度 & 热导率 & 热膨胀系数&#xff09;的文章。 感谢论文的原作者&#xff01; 关键词&#xff1a; 1. Al−Li alloy 2. Neural network potential 3. Molecular dynamics 4. Thermal pr…

wireshark 使用

wireshark介绍 wireshak可以抓取经过主机网卡的所有数据包&#xff08;包括虚拟机使用的虚拟网卡的数据包&#xff09;。 环境安装 安装wireshark: https://blog.csdn.net/Eoning/article/details/132141665 安装网络助手工具&#xff1a;https://soft.3dmgame.com/down/213…