71 lines
1.6 KiB
Bash
Executable File
71 lines
1.6 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
# Pull in user-dirs.dirs if it exists
|
|
userdirs="${XDG_CONFIG_DIR:-$HOME/.config}"/user-dirs.dirs
|
|
[ -f "$userdirs" ] && . "$userdirs"
|
|
# Obtain download directory from there, otherwise use default
|
|
downloaddir="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
|
|
documentsdir="${XDG_DOCUMENTS_DIR:-$HOME/Documents}"
|
|
picturesdir="${XDG_PICTURES_DIR:-$HOME/Pictures}"
|
|
videosdir="${XDG_VIDEOS_DIR:-$HOME/Videos}"
|
|
|
|
# Take loose crap out of the home folder
|
|
echo "Sorting away videos from homedir..."
|
|
find "$HOME" \
|
|
-maxdepth 1 \
|
|
-type f \
|
|
\( \
|
|
-iname "*.mov" -or \
|
|
-iname "*.webm" -or \
|
|
-iname "*.mkv" -or \
|
|
-iname "*.mp4" \
|
|
\) \
|
|
-print \
|
|
-exec mv {} "$videosdir" \;
|
|
echo "Sorting away pictures from homedir..."
|
|
find "$HOME" \
|
|
-maxdepth 1 \
|
|
-type f \
|
|
\( \
|
|
-iname "*.jpg" -or \
|
|
-iname "*.jpeg" -or \
|
|
-iname "*.gif" -or \
|
|
-iname "*.png" -or \
|
|
-iname "*.webp" \
|
|
\) \
|
|
-print \
|
|
-exec mv {} "$picturesdir" \;
|
|
|
|
# Sort out downloads
|
|
[ -e "$downloaddir" ] && {
|
|
# Sort out epubs
|
|
if [ -d ~/Books ]; then
|
|
echo "Sorting out books..."
|
|
find "$downloaddir" \
|
|
-type f \
|
|
\( \
|
|
-iname "*.epub" -or \
|
|
-iname "*.mobi" \
|
|
\) \
|
|
-print \
|
|
-exec mv {} ~/Books \;
|
|
fi
|
|
# Remove anything that's wicked old
|
|
echo "Removing ancient downloads..."
|
|
find "$downloaddir" \
|
|
-mtime +180 \
|
|
-print -delete
|
|
# Remove anything kinda old but really big
|
|
echo "Removing large downloads..."
|
|
find "$downloaddir" \
|
|
-mtime +30 -size +10M \
|
|
-print -delete
|
|
# Remove zips, but at a lower tolerance
|
|
echo "Removing old zips..."
|
|
find "$downloaddir" \
|
|
-mtime +30 -type f -iname "*.zip" \
|
|
-print -delete
|
|
}
|