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
 | |
| }
 |