<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Markdown on 随记</title><link>https://blog.liuyi2026.asia/zh/tags/Markdown/</link><description>Recent content in Markdown on 随记</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Tue, 20 May 2025 22:14:52 +0800</lastBuildDate><atom:link href="https://blog.liuyi2026.asia/zh/tags/Markdown/index.xml" rel="self" type="application/rss+xml"/><item><title>将epub文件转换为md文件</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Markdown/EpubsToMd/</link><pubDate>Tue, 20 May 2025 22:14:52 +0800</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Markdown/EpubsToMd/</guid><description>&lt;blockquote class='book-hint '>
&lt;p>这是后续记录，好几个月前处理的，因此步骤可能有漏，尽量回忆&lt;/p>&lt;/blockquote>&lt;h1 id="下载epub格式书籍">下载epub格式书籍&lt;a class="anchor" href="#%e4%b8%8b%e8%bd%bdepub%e6%a0%bc%e5%bc%8f%e4%b9%a6%e7%b1%8d">#&lt;/a>&lt;/h1>
&lt;p>&lt;code>https://zh.z-lib.fm/&lt;/code> ，网址时不时失效，需要到&lt;code>https://yinghezhinan.com/site/z-library/&lt;/code>找到最新网址。注册后下载软件默认是不需要钱的，但是非会员一天只能下载10本（可以多注册几个号，只要求邮箱注册即可），正常情况下够用&lt;del>我这里用《吕氏春秋》这本书举例&lt;/del>&lt;/p>
&lt;h1 id="epub编辑器">epub编辑器&lt;a class="anchor" href="#epub%e7%bc%96%e8%be%91%e5%99%a8">#&lt;/a>&lt;/h1>
&lt;p>我这里用的calibre便捷版7.19，具体谷哥一搜便有，不详细讲了(主要是太久了，怕有些细节忘了，不如不说)&lt;/p>
&lt;h1 id="编辑目录">编辑目录&lt;a class="anchor" href="#%e7%bc%96%e8%be%91%e7%9b%ae%e5%bd%95">#&lt;/a>&lt;/h1>
&lt;p>处理前需要先把epub文件备份一下，这里会修改源文件。&lt;/p>
&lt;h2 id="编辑书籍">编辑书籍&lt;a class="anchor" href="#%e7%bc%96%e8%be%91%e4%b9%a6%e7%b1%8d">#&lt;/a>&lt;/h2>
&lt;p>&lt;img src="img/ly-20250520224445408.png" alt="" />&lt;/p>
&lt;h2 id="编辑处理">编辑处理&lt;a class="anchor" href="#%e7%bc%96%e8%be%91%e5%a4%84%e7%90%86">#&lt;/a>&lt;/h2>
&lt;p>一开始的目录长这样&lt;br>
&lt;img src="img/ly-20250520224541849.png" alt="" />&lt;br>
我习惯把前面几章和后面几章都各自归为一章（下面的处理逻辑，会把每一章处理成单独的一个md文件）&lt;br>
随便找一个，右键&lt;code>编辑目录&lt;/code>即可&lt;br>
然后在第一个前新建一个&lt;code>书名-版权-前言-目录&lt;/code>，之后把其他二三次五级目录都删掉即可，如图：&lt;/p>
&lt;blockquote class='book-hint '>
&lt;p>小技巧：先全选，然后同时按住&lt;code>ctrl+大标题&lt;/code>（依次取消大标题选择，然后全部删除小标题）&lt;/p>&lt;/blockquote>&lt;p>&lt;img src="img/ly-20250521004325544.png" alt="" />
完毕后点击&lt;code>确定&lt;/code>，然后ctrl+s保存，关闭编辑窗口&lt;/p>
&lt;h2 id="epub拆分">epub拆分&lt;a class="anchor" href="#epub%e6%8b%86%e5%88%86">#&lt;/a>&lt;/h2>
&lt;p>现在需要把epub文件进行拆分&lt;br>
&lt;img src="img/ly-20250520225731974.png" alt="" />&lt;br>
注意这几个地方，现在先看一下目前目录结构，点击&lt;code>书籍文件&lt;/code>，然后查看他的上级目录，目前只有一本 &lt;br>
&lt;img src="img/ly-20250520230528798.png" alt="" />&lt;br>
回到calibre软件，选中书籍，点击&lt;code>Epub拆分功能&lt;/code>，ctrl+a全选章节，然后点击&lt;code>每个章节一本书&lt;/code>，这里就会多出27本&lt;br>
现在我们再查看刚才的&lt;code>D:\software\calibre\Calibre Portable\Calibre Library\Lu Jiu&lt;/code>目录除了一本书原书，其他都是新拆分出来的&lt;br>
&lt;img src="img/ly-20250520230706012.png" alt="" />&lt;/p>
&lt;h2 id="拆分后的epub转换成txtz格式">拆分后的epub转换成txtZ格式&lt;a class="anchor" href="#%e6%8b%86%e5%88%86%e5%90%8e%e7%9a%84epub%e8%bd%ac%e6%8d%a2%e6%88%90txtz%e6%a0%bc%e5%bc%8f">#&lt;/a>&lt;/h2>
&lt;p>选中拆分后的27个文件&lt;br>
&lt;img src="img/ly-20250520235439452.png" alt="" />&lt;br>
&lt;code>转换书籍&lt;/code>&amp;ndash;&amp;gt;输出格式txtZ（其他设置默认）&lt;br>
随便点一本书的文件夹进去看，会发现多了一个txtZ文件&lt;br>
可以复制一份.txtZ文件，之后改成.zip，会发现就是txt文件+image图片的文件堆了（为了不影响脚本功能，记得删除这里的.zip文件）&lt;/p>
&lt;h1 id="shell-批量将txtz转换成md">shell-批量将txtZ转换成md&lt;a class="anchor" href="#shell-%e6%89%b9%e9%87%8f%e5%b0%86txtz%e8%bd%ac%e6%8d%a2%e6%88%90md">#&lt;/a>&lt;/h1>
&lt;p>我写了个shell脚本处理epub转md文件，由于个人使用，没有太过讲究，所以有一些限制，建议在linux环境下运行，当然，我是在windows10+cmder下运行该脚本的。脚本内容如下：&lt;/p>
&lt;h2 id="脚本">脚本&lt;a class="anchor" href="#%e8%84%9a%e6%9c%ac">#&lt;/a>&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>n&lt;span style="color:#f92672">=&lt;/span>$#
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#f92672">[&lt;/span> $n -ne &lt;span style="color:#ae81ff">2&lt;/span> &lt;span style="color:#f92672">]&lt;/span> ; &lt;span style="color:#66d9ef">then&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> echo -e &lt;span style="color:#e6db74">&amp;#34;Please set the dir(source)(book目录) dir(dest)(md目录). &amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exit &lt;span style="color:#ae81ff">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#待处理的txtz文件目录&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>bookDir&lt;span style="color:#f92672">=&lt;/span>$1;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dirMd&lt;span style="color:#f92672">=&lt;/span>$2; 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>initDirMd&lt;span style="color:#f92672">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fileName&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span>$1&lt;span style="color:#e6db74">/_index.md&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &amp;gt;&amp;gt; $fileName &lt;span style="color:#e6db74">&amp;lt;&amp;lt;-_EOF_
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">---
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">bookCollapseSection: true
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">title:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">---
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">_EOF_&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># echo &amp;#34;创建$fileName成功&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>initContentMd&lt;span style="color:#f92672">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fileName&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span>$1&lt;span style="color:#e6db74">/index.md&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>time&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">`&lt;/span>date &lt;span style="color:#e6db74">&amp;#39;+%Y-%m-%dT%H:%M:%S%:z&amp;#39;&lt;/span>&lt;span style="color:#e6db74">`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &amp;gt;&amp;gt; $fileName &lt;span style="color:#e6db74">&amp;lt;&amp;lt;-_EOF_
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">---
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">title: 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">description: 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">categories:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - 学习
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">tags: 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - MySQL
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - MySQL是怎样运行的
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">cssAttach: 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - book01
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">cssclasses: 
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - book01
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">date: $time
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">lastmod: $time
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">---
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">_EOF_&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># echo &amp;#34;创建$fileName成功&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#遍历books目录并在相应位置创建目录&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>iterateBooks&lt;span style="color:#f92672">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local dirBook&lt;span style="color:#f92672">=&lt;/span>$1;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local dirMd&lt;span style="color:#f92672">=&lt;/span>$2;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local files&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#66d9ef">$(&lt;/span>ls &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">&amp;#34;&lt;/span>&lt;span style="color:#66d9ef">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#75715e">#echo &amp;#34;$files&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#75715e">#临时修改SHELL中的分隔符&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	oldIFS&lt;span style="color:#f92672">=&lt;/span>$IFS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	IFS&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">$&amp;#39;\n&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	initDirMd &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">for&lt;/span> file in $files; &lt;span style="color:#66d9ef">do&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		local fullPathFile&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		&lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#f92672">[[&lt;/span> -d $fullPathFile &lt;span style="color:#f92672">]]&lt;/span>; &lt;span style="color:#66d9ef">then&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># echo $file &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#如果是目录则在目录创建对应的目录&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			mkdir -p &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			initContentMd &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#处理目录下文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			handleDir &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">&amp;#34;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		&lt;span style="color:#66d9ef">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">done&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	IFS&lt;span style="color:#f92672">=&lt;/span>$oldIFS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">#处理目录下的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>handleDir&lt;span style="color:#f92672">(){&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local dirBook&lt;span style="color:#f92672">=&lt;/span>$1;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local dirMd&lt;span style="color:#f92672">=&lt;/span>$2;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	local files&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#66d9ef">$(&lt;/span>ls &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">&amp;#34;&lt;/span>&lt;span style="color:#66d9ef">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#75715e">#echo &amp;#34;$files&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#75715e">#临时修改SHELL中的分隔符&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	oldIFS&lt;span style="color:#f92672">=&lt;/span>$IFS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	IFS&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">$&amp;#39;\n&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">for&lt;/span> file in $files; &lt;span style="color:#66d9ef">do&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		&lt;span style="color:#75715e">#如果是.txtz结尾&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		&lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#f92672">[[&lt;/span> &lt;span style="color:#66d9ef">$(&lt;/span>expr &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span> : &lt;span style="color:#e6db74">&amp;#34;.\+\.txtz&lt;/span>$&lt;span style="color:#e6db74">&amp;#34;&lt;/span>&lt;span style="color:#66d9ef">)&lt;/span> &amp;gt; &lt;span style="color:#ae81ff">0&lt;/span> &lt;span style="color:#f92672">]]&lt;/span>; &lt;span style="color:#66d9ef">then&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			local fullPathFile&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			cp -r &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">&amp;#34;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">.zip&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		 echo &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			unzip -qo &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">&amp;#34;&lt;/span> -d $dirBook
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			rm &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$fullPathFile&lt;span style="color:#e6db74">.zip&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#处理解压后的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#sed -Ei &amp;#34;s/^##(.*?\s)/\1/g&amp;#34; index.txt &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed不支持PCRE&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># \\\\\[用来取 \[ &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#sed -Ei &amp;#34;s/\\\\\[([0-9]+)\\\\\]/[\1]/g&amp;#34; index.txt &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#替换图片地址&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># 这里-i -pe 一个不能去掉，且顺序不能改。且p去掉没效果，不知道原因&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># perl命令行加上&amp;#34;-e&amp;#34;选项，就能在perl命令行中直接写perl表达式&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># -i：对输入的每一行执行一次代码，并进行原地编辑（覆盖原文件）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># -p：对输入的每一行执行一次Perl代码，并打印输出结果。 &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># g是全局,p：保存匹配的字符串到${^PREMATCH} ${^MATCH} ${^POSTMATCH}中，它们在结果上对应$` $&amp;amp; $&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/(\!\[.*?\])\(images/$1\(img/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#perl中$&amp;amp;表示整个字符串&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># perl -i -pe &amp;#39;s/(\!\[.*?\])\(img.*?\)/$&amp;amp; \n/gp&amp;#39; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#替换\(\) \[\]之类的默认转义（不需要）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/\\\[(.*?)\\\]/\[$1\]/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/\\\((.*?)\\\)/\($1\)/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># 反引号`，星号*，下划线_&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/\\`/`/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/\\\*/\*/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/\\_/_/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#标题降1级(#\s+)\*{2}(.*?)\*{4}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			perl -i -pe &lt;span style="color:#e6db74">&amp;#39;s/^#(.*?\s)/$1/gp&amp;#39;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#去除#号后面4个星号(#\s+)(.*?)\s*\n\*{4}\s*\n\*{2}(.*)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#perl -i -0 -pe &amp;#39;s/(#\s+)\*{2}(.*?)\*{4}.*\n\*{4}.*\n\*{2}(.*)\n.*\n/$1$2 $3/gp&amp;#39; &amp;#34;$dirBook/index.txt&amp;#34; &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#去除#后面连续的4个星号&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#perl -i -pe &amp;#39;s/^(#.*?\s)\*{4}/$1/gp&amp;#39; &amp;#34;$dirBook/index.txt&amp;#34; &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#去除#号后面4个星号(#\s+)\*{2}(.*?)\*{4}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#perl -i -pe &amp;#39;s/(#\s+)\*{2}(.*?)\*{4}/$1$2/gp&amp;#39; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#处理img图片&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/(\!\[\.*?\])\(images/\1\(img/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#替换\(\) \[\]之类的默认转义（不需要）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\[/[/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\]/]/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\(/(/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\)/)/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;			&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#去除#后面连续的4个星号&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\*{4}//g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\[(.*?)\\\\\]/[\1]/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/\\\\\((.*?)\\\\\)/(\1)/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;			&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e">#标题降1级&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># sed -Ei &amp;#34;s/^#(.*?\s)/\1/g&amp;#34; &amp;#34;$dirBook/index.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			mkdir -p &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/img&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			cp -r &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">&amp;#34;&lt;/span>/images/* &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/img&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			rm -rf &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">&amp;#34;&lt;/span>/images
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			echo -ne &lt;span style="color:#e6db74">&amp;#34;\n&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/index.md&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			&lt;span style="color:#75715e"># echo &amp;#34;23&amp;#34; &amp;gt;&amp;gt; &amp;#34;$dirMd/index.md&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			cat &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">/index.txt&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">/index.md&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>			rm -rf &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirBook&lt;span style="color:#e6db74">&amp;#34;&lt;/span>/index.txt
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>		&lt;span style="color:#66d9ef">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#66d9ef">done&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	IFS&lt;span style="color:#f92672">=&lt;/span>$oldIFS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>iterateBooks &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$bookDir&lt;span style="color:#e6db74">&amp;#34;&lt;/span> &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$dirMd&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># handleDir &amp;#34;$bookDir&amp;#34; &amp;#34;$dirMd&amp;#34;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>将脚本放在某个目录下（随意）&lt;/p></description></item><item><title>Markdown超级教程</title><link>https://blog.liuyi2026.asia/zh/docs/technology/Markdown/_SuperTutorial_/</link><pubDate>Wed, 01 Jan 2025 21:50:58 +0800</pubDate><guid>https://blog.liuyi2026.asia/zh/docs/technology/Markdown/_SuperTutorial_/</guid><description>&lt;blockquote class='book-hint '>
&lt;p>全篇转载自 
&lt;a target="_blank" href="https://forum-zh.obsidian.md/t/topic/435">https://forum-zh.obsidian.md/t/topic/435&lt;/a>&lt;br>
作者obsidian论坛名-yikelee 成雙醬，感谢作者无私分享！&lt;/p>&lt;/blockquote></description></item></channel></rss>