systems-obscure/posts/image-deletion-bash-script.md

33 lines
983 B
Markdown
Raw Permalink Normal View History

2025-07-07 17:08:27 +01:00
---
title: "Bash script: delete unused images"
slug: /image-deletion-bash-script/
date: 2023-04-16
tags: ["log", "bash"]
---
When I'm working on my technical notes I often insert images, diagrams,
screenshots etc. Often, I end up creating multiple images that I end up not
using. I don't like commiting dead bytes to the repo so I wrote a short script
that reads each file in the image directory and looks to see if it is referenced
in any Markdown files. If it isn't, the image is deleted.
```bash
find /home/thomas/repos/eolas/_img -type f | while read filename; do
rg "${filename##*/}" ../ --type markdown >/dev/null 2>&1
if [ "$?" -eq 1 ]; then
echo "Deleted unused image: ${filename##*/}"
rm $filename
fi
done
```
Example:
```sh
./clean_image_directory.sh
Deleted unused image: multiplication_03.gif
Deleted unused image: Pasted_image_20220319174839.png
Deleted unused image: multiplication_04.gif
Deleted unused image: multiplication_02.gif
```