###用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; do
    chapter_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; do
    echo "$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; do
    echo "$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; do
    chapter_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.mfbz.cn/a/507021.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑卡顿怎么办?教你三招,轻松解决卡顿问题!

在现代社会&#xff0c;电脑已成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;随着使用时间的增长&#xff0c;不少用户可能会遇到电脑卡顿的问题。卡顿不仅影响工作效率&#xff0c;还可能造成数据丢失等严重后果。本文将为大家介绍三种解决电脑卡顿问题的方法&…

使用 CSS 创建响应式图像滑块

使用 CSS 创建响应式图像滑块 效果展示 PC 端效果 移动端 / iPad 效果 CSS 知识点 媒体查询知识点复习position: absolute 的使用复习:nth-child 的使用复习 页面需求及实现思路 需求 页面会根据设备大小形成不同的布局方式当前展示图片放大并且展示对应的标题和描述其他…

智能公交调度管理服务系统

一、 背景 从上世纪末开始&#xff0c;为了缓解经济发展带来的道路交通方面的压力&#xff0c;绝大多数国家的公共交通部门方面进行了大量的投入&#xff0c;都在研发各种先进的技术来改善交通状况&#xff0c;其中包括了对公交 车的定位、对车辆实施全方位的虽然有的监控、自…

Leo赠书活动-23期 【Python数据分析】文末送书

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

告别繁琐代码,只需简单拖拽,便可从0到1开发!

告别繁琐代码&#xff0c;拥抱科技未来&#xff01;只需简单拖拽&#xff0c;便可从0到1开发&#xff01;代码即刻生成&#xff0c;一键下载&#xff0c;轻松上手。我们的低代码平台&#xff0c;不仅高效便捷&#xff0c;更完全开源&#xff0c;让你自由探索编程的无限可能&…

Vue3性能优化之自定义指令实现图片懒加载

图片懒加载是一种常见性能优化的方式&#xff0c;进入网址时不全部加载图片 当用户进入图片可视区域时加载 不仅大大减少了服务器的压力 也可以时首屏时间变短 图片懒加载的实现原理&#xff1a;在图片没进入可视区域的时候&#xff0c;只需要让 img 标签的 src 属性指向一张…

发票是扫码验真好,还是OCR后进行验真好?

随着科技的进步&#xff0c;电子发票的普及使得发票的验真方式也在不断演进。目前&#xff0c;我们常见的发票验真方式主要有两种&#xff1a;一种是扫描发票上的二维码进行验真&#xff0c;另一种是通过OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别…

Python爬虫实战之爬取微博热搜

前言 在开始之前&#xff0c;我们需要了解一些基本的爬虫知识。Python爬虫是一种自动化获取网页内容的技术&#xff0c;可以模拟浏览器行为&#xff0c;获取网页源代码&#xff0c;并从中提取所需的信息。在爬取微博热搜榜单时&#xff0c;我们需要发送HTTP请求获取网页源代码…

263:vue+openlayers 高德地图坐标转换 WGS84-GCJ02

第263个 点击查看专栏目录 本示例演示如何在vue+openlayers中将 WGS84坐标转化为GCJ02坐标,从而使得高德地图能正确的显示物体的坐标点。 84坐标系可以理解为是真实坐标系,是一个地点的实际坐标值。02坐标系是加密后的坐标系,是为了国家安全考虑。对应的不是实际的坐标值,…

C语言键盘输入与屏幕输出——数据的格式化键盘输入

目录 数据的格式化键盘输入 输入数据的格式控制 scanf&#xff08;&#xff09;的格式字符 scanf()的格式修饰符 数据的格式化键盘输入 格式 scanf&#xff08;格式控制字符串&#xff0c;输入地址表&#xff09;&#xff1b; 输入数据的格式控制 格式 scanf&#xff08;…

500万美元!谷歌设超级大奖推动量子计算实用化

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 编辑丨王珩 编译/排版丨浪味仙 沛贤 深度好文&#xff1a;1500字丨10分钟阅读 近日&#xff0c;谷歌联合 XPRIZE基金会&#xff0c;发起一项价值 500 万美元、为期 3 年的全球量子应用竞赛&am…

python---基础(一)

文章目录 前言1.对象的基本组成2.变量和常量2.1.变量的声明2.2.常量_链式赋值_系列解包赋值2.2.1.常量是不是真的常量&#xff1f;2.2.2.链式赋值2.2.3.系列解包赋值 3.内置数据类型_基本算数运算符3.1四种内置数据类型3.2.基本运算符3.3.divmod() 前言 这几年&#xff0c;随着…

如何处理Jenkins打包npm install没有拉取到最新依赖的问题

问题背景&#xff1a; 我们项目中有私有依赖包 frame&#xff0c;是私有服务器上通过 npm 去管理。frame包 publish 之后&#xff0c;通过Jenkins打包时&#xff0c;npm install 一直没有拉取最新的代码。 思考&#xff1a;通过在本地直接替换 node_modules 里的 frame 包&…

文心一言 VS 讯飞星火 VS chatgpt (227)-- 算法导论16.3 9题

九、证明&#xff1a;对于一个由随机生成的8位字符组成的文件&#xff0c;没有任何压缩方法可以望将其压缩、哪怕只是压缩一位。(提示&#xff1a;比较可能的文件数量和可能的编码文件数量。) 文心一言&#xff1a; 确实&#xff0c;对于一个由随机生成的8位字符组成的文件&a…

卷积神经网络(CNN)的数学原理解析

文章目录 前言 1、介绍 2、数字图像的数据结构 3、卷积 4、Valid 和 Same 卷积 5、步幅卷积 6、过渡到三维 7、卷积层 8、连接剪枝和参数共享 9、卷积反向传播 10、池化层 11、池化层反向传播 前言 本篇主要分享卷积神经网络&#xff08;CNN&#xff09;的数学原理解析&#xf…

C++--内联函数

当调用一个函数时&#xff0c;程序就会跳转到该函数&#xff0c;函数执行完毕后&#xff0c;程序又返回到原来调用该函数的位置的下一句。 函数的调用也需要花时间&#xff0c;C中对于功能简单、规模小、使用频繁的函数&#xff0c;可以将其设置为内联函数。 内联函数&#xff…

中视频双去重,一键多平台,可达日入2000+

【核心】将不可复制的飞书文档&#xff0c;用大模型二创&#xff0c;进而生成思维导图&#xff08;视频&#xff09;&#xff0c;以下全过程使用工具半自动完成。 【飞书】https://puojikpj98.feishu.cn/docx/KUNad8Y0UoFHEexMyAfc7sA1nQf 【文案】 中视频双去重与多平台发布项…

Java中的static关键字

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)

快速排序属于交换排序&#xff0c;交换排序还有冒泡排序&#xff0c;这个太简单了&#xff0c;这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序&#xff0c;理解它们对分支思想的感悟会更深。 计数排序属于非比较排序&#xff0c;在数据集中的情况下可以考虑使…
最新文章