32 lines
983 B
Markdown
32 lines
983 B
Markdown
---
|
|
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
|
|
```
|