首页 > 其他分享 >批量下载Markdown文件到本地

批量下载Markdown文件到本地

时间:2023-09-04 10:56:49浏览次数:38  
标签:Markdown file 批量 text filename 本地 line 下载

批量下载Markdown文件到本地

在Markdown 文件中 可能存在远程引用图片的情况,但是在某些情况下 ,我们处于无网环境, 就可能造成Markdown 查看异常

1
> [图片](https://cn.bing.com/images/search?q=%25E5%259B%25BE%25E7%2589%2587&FORM=IQFRBA&id=31F3A37194BC03C4AD16D80C327FF51215AB2959)

此时 把远程文件替换成本地文件即可

1
> [图片](xxxx)

数量少的情况下可以手动下载,如果遇到数量较多的情况就需要脚本下载了

Linux 批量下载Markdown文件并批量替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash

file=$1
# 获取所有符合格式的文本行
text_lines=$(grep -oP '\!\[图片\]\(\K[^)]+' "../$file")

# 循环处理每一行
for text_line in $text_lines; do
# 下载并保存链接对应的文件
filename=$RANDOM+".png"
echo "随机数: $filename"
wget -O "$filename" "$text_line"


# 替换括号内的链接为处理后的文件名
sed -i "s|$text_line|$filename|g" "../$file"
done

Win 批量下载Markdown文件并批量替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$file = $args[0]
# 获取所有符合格式的文本行
$text_lines = Select-String -Path "..\$file" -Pattern '\!\[图片\]\(\K[^)]+' | ForEach-Object { $_.Matches.Value }

# 循环处理每一行
foreach ($text_line in $text_lines) {
# 下载并保存链接对应的文件
$filename = [System.IO.Path]::GetRandomFileName() + ".png"
Write-Host "随机文件名: $filename"
Invoke-WebRequest -Uri $text_line -OutFile $filename

# 替换括号内的链接为处理后的文件名
(Get-Content "..\$file") -replace [regex]::Escape($text_line), $filename | Set-Content "..\$file"
}

使用

假设脚本命名 img.sh > img.sh xxx.md

标签:Markdown,file,批量,text,filename,本地,line,下载
From: https://www.cnblogs.com/cymx/p/17676318.html

相关文章

  • 用Excel函数批量校验身份证
    在将员工信息批量上传至网站时,通常会出现员工的身份证输入错误而导致无法上传成功,出现这种情况可以用Excel函数校验身份证信息是否有错误。 身份证号码中的校验码是身份证号码的最后一位,计算方法如下:1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数......
  • Mybatis的saveOrUpdateBatch________批量保存或更新
    一、saveOrUpdateBatch介绍Mybatis是一种优秀的ORM框架,为了提高效率,Mybatis提供了批量执行操作的方法。saveOrUpdateBatch是其中一个方法,它可以保存或更新多组数据。二、怎样使用saveOrUpdateBatch要使用Mybatis的saveOrUpdateBatch方法,您需要先创建一个Mapper接口,并在其中定义......
  • 本地开机启动jar
    1:首先有个可运行的jar包本地以ruiyi代码为例打包2:编写bat命令---命名为.bat即可@echooffjava-jarD:\everyDay\test\RuoYi\target\RuoYi.jar3:设置为开机自启动启动快捷键win+r----输入shell:startup---打开启动文档夹把bat文件复制过来4:关机重启--发现自动启动了5:在浏览器输入ja......
  • markdown命令练习
    目录设定关于目录的设定markdown最多允许六级目录,若是想设置一级目录在编辑内容前加一个#即可,(注意:#和要编辑的目录之间需要一个空格的空间,否则可能出现识别不出的情况)若是想要做二级目录,将一个#变成两个即可;若是三级,便是三个#。后面以此类推。注意:用此方法时若不在markdow......
  • clean up markdown files
    install:[email protected]'monlyusing"npminstalltidy-markdown-g",itwillissuenode:internal/modules/cjs/loader:1080throwerr;^Error:Cannotfindmodule'../lib/language-code-rewrites'Requirestack......
  • Oracle-UNDO数据文件被创建在本地
    在Oracle的RAC环境中,UNDO表空间也是被创建在ASM。假如,UNDO表空间的数据文件,有一个被创建在了本地,那如何处理呢?1.删除数据文件会提示ORA-03262:thefileisnon-empty2.正确的方法A.创建新的UNDO表空间createundotablespaceUNDOTBS3datafile'+DATA'size1g;B.切换到新的UNDO......
  • MarkDown用法
    关于MarkDown常见功能学习1视图大纲视图:可以清晰看到目录结构2标题一级标题:"#"+空格+“标题名”二级标题:“##"+空格+“标题名”三级标题:“###"+空格+“标题名”最多可以支持到六级标题3字体加粗:字体两边分别加上2个*号斜体:字体两边分别加星号(1个)粗体加斜体:字体两边分别......
  • 通过代理连接本地vscode和远程服务器手记
    关键信息记录1.在WSL实测nc可实现代理流量转发ssh-ikey.pem<username>@<hostname>-o"ProxyCommand=nc-Xconnect-x<proxy-host>:<proxy-port>%h%p"2.windows无法使用nc,通过修改VS-CodeRemote-SSH插件的配置:"remote.SSH.path":"D:\......
  • CLion进行远程/本地编译、GDB调试postgres(含阅读源码)
    Clion-RemoteGDB调试postgres(本地为windows,远程为centos)通过Make+Makefile编译,并构建索引下面一步一步跟着做即可下载源码压缩包、编译postgres的源码:使用Clion调试postgresql源码-知乎(zhihu.com)(系统用户的配置文件是~/.zshrc)下载源码压缩包、编译postgres的源码:Lin......
  • JSONCPP向浏览器前端发送服务器本地文件列表
    服务器解析了浏览器请求之后,要进行响应响应体里需要存放请求的内容HTML标签:是页面的核心内容,定义了页面有什么内容。CSS:控制HTML元素的排版布局和展示方式,是美化页面文档的。JavaScript:让用户与页面进行交互,或在网页背后默默操控网页,以便让显示的内容与效果有所改变。对网页来......