-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMusicleaner.sh
More file actions
executable file
·58 lines (53 loc) · 1.9 KB
/
Copy pathMusicleaner.sh
File metadata and controls
executable file
·58 lines (53 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
# V1.0
echo -e "\n########## Nettoyage de dossiers de musique ##########"
echo -e "\nPurger les fichiers superflus (thumbs, nfo, txt et autres..)"
#On définit par défaut le chemin de recherche ~/Musique
#Et un truc bidon pour la saisie, sinon il rentre jamais dans le while..
pathScan="$HOME/Musique"
saisiePathScan="carotte"
launchPath="`( cd \"$lauchpath\" && pwd )`"
#Tant que la saisie sera pas un dossier existant
while [ ! -e $saisiePathScan ]
do
echo -en "\n> Chemin du dossier a scanner (laisser vide pour ~/Musique) "
read saisiePathScan
#Si y'a une entrée, on éxécute, sinon on garde ~/Musique
if [ ! -z $saisiePathScan ]
then
#On teste l'existence du dossier, si oui il est stocké dans pathScan
if [ -e $saisiePathScan ]
then
echo "Le dossier $saisiePathScan existe bel et bien"
pathScan=$saisiePathScan
else
echo "Le dossier $saisiePathScan semble ne pas exister, essaie encore!"
fi
else
echo "Le scan s'effectuera dans $pathScan"
fi
done
#On va dans le dossier et on calcule la taille avant pour voir
cd "$pathScan"
tailleAvant=`du -sh`
echo "Taille du dossier avant nettoyage : $tailleAvant"
echo -en "Début du scan..."
touch deleteList.txt
# listage des fichiers avec find | grep (-v = sauf)
find -type f | grep -v -e .mp3 -e .MP3 -e .flac -e .wav -e .wma -e .m4a -e .ogg -e .zip -e .rar -e .jpg -e .jpeg -e .JPG -e .png -e .PNG -e deleteList.txt > deleteList.txt
echo -e "Scan terminé ! \nVérifiez la liste des fichiers a supprimer, puis enregistrez la et quittez l'éditeur."
sleep 4
gedit deleteList.txt
echo -en "\nVoulez vous vraiment supprimer ces fichiers ? (O/N)"
read conf
if [[ "$conf" == "o" ]]
then
while read i ; do read i ; rm -v "$i" ; done < deleteList.txt
echo -e "Suppression effectuée !"
else
echo -e "Suppression annulée"
fi
rm deleteList.txt
tailleApres=`du -sh`
echo "Taille du dossier après nettoyage : $tailleApres"
exit 0;