龗孖 龗孖
首页
  • JAVA
  • 设计模式
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 页面

    • HTML
    • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

靇孖

某微型企业非牛逼技术专家。
首页
  • JAVA
  • 设计模式
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 页面

    • HTML
    • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JAVA

  • MQ

  • 工具

  • 微服务

  • 数据库

  • 其他

    • DNS_是如何影响你冲浪速度的
    • Markdown

      • 批量下载Markdown文件到本地
        • Linux 批量下载Markdown文件并批量替换
        • Win 批量下载Markdown文件并批量替换
        • 使用
    • 杂谈

  • 程序设计

  • 算法

  • 服务端
  • 其他
  • Markdown
龗孖
2024-06-09
目录

批量下载Markdown文件到本地

# 批量下载Markdown文件到本地

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

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

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

> [图片](xxxx)
1

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

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

#!/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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

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

$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"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 使用

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

上次更新: 2024/11/01, 16:22:32
DNS_是如何影响你冲浪速度的
淘汰的笔记本能做什么系列-远程监控

← DNS_是如何影响你冲浪速度的 淘汰的笔记本能做什么系列-远程监控→

最近更新
01
树中两个节点的最低公共祖先
10-17
02
hexo多平台多博客网站同步
09-04
03
最长不含重复字符的子字符串
09-03
更多文章>
Theme by Vdoing | Copyright © 2015-2024 Ling ma | 996.icu | 京ICP备16011424号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式