[Typora] 불필요한 이미지 리소스 제거
1. Overview
Post (md) 파일에서 link 되지 않아
사용되고 있지 않는 image 를 일괄 제거해본다.
2. ImageGC.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/bash
# 사용하지 않은 이미지 들을 추적하여 제거한다.
BASEDIR=$(dirname "$0")
. ${BASEDIR}/env.sh
# post에 사용되었을 것으로 예상되는 이미지 파일
find $HOME/$GIT/assets/img $HOME/$GIT/assets/posts/images \
-type f -name "*.jpg" -o -name "*.png" | grep -v "favicons" |
while read IMG
do
# 이미지 하나에 대한 정보 (파일명, 확장자, 디렉토리)
iName=$(echo ${IMG} | awk -F'/' '{print $NF}' | cut -d'.' -f1)
iExt=$(echo ${IMG} | awk -F'/' '{print $NF}' | cut -d'.' -f2)
iDir=$(echo ${IMG} | awk -F'/' '{print $((NF-1))}')
# post 에서 image 검색
EXIST=$(find $HOME/$GIT/*/_posts -type f -name "*.md" | xargs grep "${iDir}/${iName}.${iExt}")
# EXIST length 값 비교로 image 사용 여부 확인
if [ "${#EXIST}" == "0" ]
then
echo "Image not used: ${iDir}/${iName}.${iExt}"
/usr/bin/rm $IMG
else
echo "Image used: ${iDir}/${iName}.${iExt}"
fi
done