# markdown-img-cleaner **Repository Path**: hustoking/markdown-img-cleaner ## Basic Information - **Project Name**: markdown-img-cleaner - **Description**: 一个清理 **Markdown** 中无引用图片的小工具 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2022-05-31 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一个清理 **Markdown** 中无引用图片的小工具 ## 如何使用 因为只有一个文件,所以大家花一分钟看下源码大概就知道了,原理极其简单。(一个学了一下午 python 的人能写出什么复杂的东西) 1. 将 `.py` 文件 拷贝/移动到自己喜欢的位置,将该路径设置为 **环境变量** 路径,或者使用软链接到 `/usr/bin` 目录下 2. 因为能力有限且开发时间较短,工作目录必须严格遵循以下形式(未来可能会优化) ``` . ├── imgs │   ├── a.jpg │   ├── b.png │   └── c.png ├── list.md ├── note.md └── time.md ``` ![](img/2022-06-02-16-56-42.png) > 这里的意思是说:所有的 **Markdown** 文件需要位于当前目录下,而所有的图片文件需要位于 `./imgs` 路径下 (图片文件夹的名字可以是任意,不是必须叫 `imgs` ) 3. 移动到你想要清理无引用图片的上级目录(该目录下应该有 `a.md` `b.md` ...... `imgs/`) 例如我这里有一个从 **Notion** 上下载下来的 **Vue** 笔记,但是我不小心在里面加了许多其他没用的图片,现在想删掉这些图片 ![](img/2022-06-02-17-04-06.png) 该目录下只有一个 `Vue-notion.md` 和一个放有图片的文件夹 `vuedir` 4. 使用 ``` python $APP_HOME/img-cleaner.py # 原谅我这种愚蠢的写法 ``` 5. 这里会提示需要你输入放置图片文件夹的名称: ![](img/2022-06-02-17-07-44.png) 输入之后按回车 ![](img/2022-06-02-17-09-54.png) ![](img/2022-06-02-17-09-22.png) 没有引用过的图片就会被移动到 `./_trash_bin` 目录下 ## 注意点 * 每行最多包含一个图片标签 `![]()` ,因为没有关闭正则的贪婪匹配,如果多个图片写在一行的话则会报错 * `2022-6-2 更新` :所引用图片的文件名可以带 **空格符** ,代码会自动将 **Markdown** 内引用路径的文件名中的 `%20` 转码为 **空格符**,不过只允许在文件名中出现一次 **空格符**