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