Files
linux-config/scripts/texclear
Kevin Mok 80ea8653c3 Wrote script to clean up LaTeX build files
Used Shellcheck to change all my scripts to bash and lint them. Exported my
scripts to $PATH. Fixed my liked Arch packages.
2018-12-05 10:02:23 -05:00

41 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Delete TeX build files when exiting from Vim or call on directory/directly to
# remove from there.
ext_list="/home/kevin/linux-config/txt/tex-build-files.txt"
raw_exts="$(tr '\n' '|' < $ext_list)"
exts="(${raw_exts::-1})"
echo "$exts"
find_flags=(-maxdepth 1 -type f -regextype gnu-awk -regex)
remove_build_files () {
regex=$2
# echo find "$1" "${find_flags[@]}" "$regex" -delete -print
eval find "$1" "${find_flags[@]}" "$regex" -delete -print
}
# when less than one argument, remove build files in current dir
if [[ "$#" -lt 1 ]]; then
regex=(\"^.*\\."$exts"$\")
remove_build_files . "${regex[0]}"
else
case "$1" in
# if tex file, remove only build files for that file
*.tex)
file=$(readlink -f "$1")
dir=$(dirname "$file")
base="${file%.*}"
regex=(\"^"$base"\\."$exts"$\")
remove_build_files "$dir" "${regex[0]}" ;;
# remove all build files in directory if given valid one
*)
if [[ -d "$1" ]]; then
regex=(\"^.*\\."$exts"$\")
remove_build_files "$1" "${regex[0]}"
else
printf "Give .tex file or directory as argument.\\n"
fi ;;
esac
fi