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

news/2024/10/19 23:33:56/

###用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.ppmy.cn/news/1401796.html

相关文章

js——如何改变this的指向

一、call方法 call方法是JavaScript中的一个内置函数&#xff0c;它允许你调用一个函数&#xff0c;并为该函数指定this的值。call方法接受两个参数&#xff1a;第一个参数是你想要指定的this值&#xff0c;第二个参数是传递给函数的实际参数列表。 function greet() {consol…

跨境电商IP防关联是什么?有什么作用?

做跨境电商的朋友应该都知道IP防关联这个词,那么为何IP需要防关联呢&#xff1f;今天为大家来解答这个问题。 跨境电商IP防关联是指在跨境电商运营中&#xff0c;通过采取一系列技术手段&#xff0c;确保每个跨境电商账号使用独立的IP地址&#xff0c;以避免账号之间因为IP地址…

国赛大纲解读

1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…

[第一章 web入门]afr_1

[第一章 web入门]afr_1 进入发现参数?phello 猜测为文件读取漏洞&#xff0c;使用?p./hello进行验证 直接?pflag进行尝试&#xff0c;发现有回显 使用php://filter伪协议读取源码 payload ?pphp://filter/readconvert.base64-encode/resourceflag

Day54:WEB攻防-XSS跨站Cookie盗取表单劫持网络钓鱼溯源分析项目平台框架

目录 XSS跨站-攻击利用-凭据盗取 XSS跨站-攻击利用-数据提交 XSS跨站-攻击利用-flash钓鱼 XSS跨站-攻击利用-溯源综合 知识点&#xff1a; 1、XSS跨站-攻击利用-凭据盗取 2、XSS跨站-攻击利用-数据提交 3、XSS跨站-攻击利用-网络钓鱼 4、XSS跨站-攻击利用-溯源综合 漏洞原理…

Mac上设置环境变量PATH

1、 打开终端Terminal。 2、 输入以下命令打开你的shell配置文件&#xff0c;比如bash或zsh。如果你使用的是bash&#xff0c;那么你需要编辑~/.bash_profile或者~/.bashrc文件&#xff1b;如果你使用的是zsh&#xff0c;那么你需要编辑~/.zshrc文件。 open -e ~/.bash_prof…

Android9.0以后不允许HTTP访问的解决方案

背景 自 Android 9.0 起&#xff0c;默认禁止使用 HTTP 进行访问。当尝试使用 HTTP 链接时&#xff0c;将会收到以下错误信息&#xff1a; "Cleartext HTTP traffic to " host " not permitted"为了解决这一问题&#xff0c;下面介绍两种破解方法&…

阿里云实时计算Flink的产品化思考与实践【上】

摘要&#xff1a;本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。内容主要为以下五部分&#xff1a; 阿里云实时计算 Flink 简介产品化思考产品化实践SQL 产品化思考及实践展望 该主题由黄鹏程和陈婧敏共同完成&#xff0c;前半程…