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
|
#!/bin/bash
for i in $(ls -1 ./StockageBrut/*.mp3); do
export AuteurName=$(mp3info -p "%a" $i)
export Title=$(mp3info -p "%t" $i)
#ici on extrait le nom de l'auteur et le titre contenus dans l'IDV du morceau
if [ "$AuteurName" != "" ]; then
echo -e "$AuteurName" >> ./RepClassement/ListeAuteurs.txt
echo "$Title" >> ./RepClassement/ListeFilename.txt
echo "$i" >> ./RepClassement/ListeNomCourant.txt fi;
#Ici on remplit les fichiers d'indexation
done;
#Conversion en UTF8
iconv -f ISO8859-1 -t UTF8 -o ./RepClassement/ListeAuteursUTF8.txt ./RepClassement/ListeAuteurs.txt
#Là c'est la conversion (jaime pas les <E09> à la place des é
iconv -f ISO8859-1 -t UTF8 -o ./RepClassement/ListeFilenameUTF8.txt ./RepClassement/ListeFilename.txt
sed "s/[/\ \\]/_/w ./RepClassement/ListeRepAuteurs1.txt" ./RepClassement/ListeAuteursUTF8.txt
sed "s/[/\ \\]/_/w ./RepClassement/ListeRepAuteurs2.txt" ./RepClassement/ListeRepAuteurs1.txt
sed "s/[/\ \\]/_/w ./RepClassement/ListeRepAuteurs3.txt" ./RepClassement/ListeRepAuteurs2.txt
sed "s/[/\ \\]/_/w ./RepClassement/ListeRepAuteurs4.txt" ./RepClassement/ListeRepAuteurs3.txt
sed "s/[/\ \\]/_/w ./RepClassement/ListeRepAuteurs5.txt" ./RepClassement/ListeRepAuteurs4.txt
#ici c'est pas beau c'est juste pour enlever les /, \ et les espaces des noms traités
#mais il faut plusieurs passes.
sed "s/[/\ \\]/_/w .RepClassement/ListeFilename1.txt" ./RepClassement/ListeFilenameUTF8.txt
sed "s/[/\ \\]/_/w .RepClassement/ListeFilename2.txt" ./RepClassement/ListeFilename1.txt
sed "s/[/\ \\]/_/w .RepClassement/ListeFilename3.txt" ./RepClassement/ListeFilename2.txt
sed "s/[/\ \\]/_/w .RepClassement/ListeFilename4.txt" ./RepClassement/ListeFilename3.txt
sed "s/[/\ \\]/_/w .RepClassement/ListeFilename5.txt" ./RepClassement/ListeFilename4.txt
#Là ça ne marche pas et ça ne marchera jamais. Il faut faire un test sur l'existence
#de chaque répertoire, et s'il n'existe pas le créer
Code:
1234567 | for k in $(cat ./RepClassement/ListeRepAuteurs5.txt); do
if [ ! -d $k ]; then
mkdir $k
fi
#Et là je fais quoi pour parser les deux autres fichiers ?
mv "$LeNomCourantFichier" ./StockageClassed/"$LeTitreDeLaChanson".mp3
done |
mkdir ./StockageClassed/$(less ./RepClassement/ListeRepAuteurs5.txt)
mv -i $(less ./RepClassement/ListeNomCourant.txt) $(less ./RepClassement/ListeRepAuteur5.txt)$(ListeFilename5.txt) |