ambevar-dotfiles/.scripts/texclean

58 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
if [ $# -eq 0 ] || [ "$1" = "-h" ]; then
cat <<EOF
Usage: ${0##*/} FOLDERS
Clean TeX/LaTeX/Texinfo project folders recursively.
First we look for .tex or .texi files, and then we can remove associated
extensions in current folder. We proceed this way so that we do not incidentally
remove files matching these extensions if they are not linked to a TeX file in
any manner.
EOF
exit
fi
for i ; do
while IFS= read -r FILE; do
FILE_NOEXT="${FILE##*/}"
FILE_NOEXT="${FILE_NOEXT%.*}"
FILE_PATH="${FILE%/*}"
find "$FILE_PATH" -maxdepth 1 -type f \( \
-name "$FILE_NOEXT.aux" -o \
-name "$FILE_NOEXT.cp" -o \
-name "$FILE_NOEXT.cps" -o \
-name "$FILE_NOEXT.fn" -o \
-name "$FILE_NOEXT.glg" -o \
-name "$FILE_NOEXT.glo" -o \
-name "$FILE_NOEXT.gls" -o \
-name "$FILE_NOEXT.idx" -o \
-name "$FILE_NOEXT.ilg" -o \
-name "$FILE_NOEXT.ind" -o \
-name "$FILE_NOEXT.ky" -o \
-name "$FILE_NOEXT.lof" -o \
-name "$FILE_NOEXT.log" -o \
-name "$FILE_NOEXT.maf" -o \
-name "$FILE_NOEXT.mtc?" -o \
-name "$FILE_NOEXT.mtc" -o \
-name "$FILE_NOEXT.nav" -o \
-name "$FILE_NOEXT.out" -o \
-name "$FILE_NOEXT.pg" -o \
-name "$FILE_NOEXT.snm" -o \
-name "$FILE_NOEXT.synctex.gz" -o \
-name "$FILE_NOEXT.synctex" -o \
-name "$FILE_NOEXT.tns" -o \
-name "$FILE_NOEXT.toc" -o \
-name "$FILE_NOEXT.tp" -o \
-name "$FILE_NOEXT.vr" -o \
-name "$FILE_NOEXT.vrs" -o \
-name "$FILE_NOEXT.xdy" \) \
-print \
-delete
done <<EOF
$(find "$i" -type f \( -name "*.tex" -o -name "*.texi" \) )
EOF
done