Skip to content

Instantly share code, notes, and snippets.

@ricardojlrufino
Created March 31, 2019 12:13
Show Gist options
  • Save ricardojlrufino/f26f35d0bfeb243ae7110894dc00de87 to your computer and use it in GitHub Desktop.
Save ricardojlrufino/f26f35d0bfeb243ae7110894dc00de87 to your computer and use it in GitHub Desktop.
Whatsapp Backup Cleanup
#!/bin/sh
##
## @author Ricardo JL Rufino
##
echo "Whatsapp Backup Cleanup"
echo "======================================"
cd Media
parent=$PWD;
echo "Parent Directory: $parent"
#
echo "Deletando arquivos invalidos...."
find * -type f -name '*.thumb' -delete
for dir in $(find * -mindepth 0 -maxdepth 0 -type d -not -path "./videos/*") ;
do
echo "Find files on '${dir}'"
mkdir -p videos/${dir}
mkdir -p audio/${dir}
mkdir -p images/${dir}
mkdir -p docs/${dir}
mkdir -p others/${dir}
find ./${dir} -type f -exec mv '{}' ${parent}/${dir} \; # move to root folder
# Move to each file type
find ./${dir} -type f \( -name "*.mp4" \) -exec mv '{}' ${parent}/videos/${dir} \; # move to root folder
find ./${dir} -type f \( -name "*.opus" -o -name "*.mp3" \) -exec mv '{}' ${parent}/audio/${dir} \; # move to root folder
find ./${dir} -type f \( -name "*.pdf" -o -name "*.doc" -o -name "*.docx" -o -name "*.xls" -o -name "*.csv" \) -exec mv '{}' ${parent}/docs/${dir} \; # move to root folder
find ./${dir} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.webp" \) -exec mv '{}' ${parent}/images/${dir} \; # move to root folder
find ./${dir} -type f -exec mv '{}' ${parent}/others/${dir} \; # move to root folder
done
echo "Delete empty..."
find . -empty -type d -delete # delete empty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment