1
wuhao OP 求助
|
2
dier 238 天前
已经存在的,可以用脚本批量替换一下。将来的可以在设置中修改路径如下: 设置--文件与链接--内部链接类型--基于当前笔记的相对路径
|
3
dier 238 天前
我的所有图片文件都在 media/Images 目录下,你要是用这个脚本,记得替换一下这个路径。另外,建议先把所有笔记复制备份一下,避免脚本修改失败,导致无法恢复。
```shell #!/bin/bash # 定义替换图像格式的函数 replace_image_format() { file="$1" # 定义目标格式的正则表达式(包含"media/Images"的情况) pattern_with_path='!\[\[media/Images/([^]]+)\]\]' # 定义目标格式的正则表达式(不包含"media/Images"的情况) pattern_without_path='!\[\[([^]]+)\]\]' # 读取文件内容 content=$(cat "$file") # 检查文件内容是否包含"media/Images",并根据情况替换图像格式 if [[ "$content" == *"media/Images"* ]]; then new_content=$(echo "$content" | sed -E "s#$pattern_with_path#![](media/Images/\\1)#g") else new_content=$(echo "$content" | sed -E "s#$pattern_without_path#![](media/Images/\\1)#g") fi # 处理文件名中的宽度内容(如果有),并移除竖线 new_content=$(echo "$new_content" | sed -E 's/\|([0-9]+)//g') # 将修改后的内容写回文件 echo "$new_content" > "$file" } # 要处理的目录 target_directory="/root/fix_md" # 查找目标目录及其子目录下的所有.md 文件,并执行替换图像格式操作 find "$target_directory" -type f -name "*.md" | while read -r file; do replace_image_format "$file" done ``` |
4
proxytoworld 238 天前
这种格式不是所有 markdown 软件都支持,而且有可能你这是压缩版的路径,在设置里面调整图片插入方式把
|
5
wuhao OP @proxytoworld 是的,是压缩版本的路径,如何调整成相对或者绝对路径,这样以后更加通用呢?
|