#1 Le 09/12/2007, à 13:05
- fran66674
[Script Bash] aide tri extension-date
Bonjour a tous
Voila, je suis nouveau en bash et j'ai des soucis pour ecrire un script.
Je dois prendre tous les fichiers et sous-fichiers d'un repertoire de base pour les déplacer dans un autre repertoire. Un dossier est cree pour chaque type d'extension. Pour chaque repertoire de fichier d'extension, un dossier sera cree en fonction de l'annee de modification du fichier.
Pour resumer, les fichiers sont classés par extension puis par date.
Comme je vous l'ai dis, je debute en scripts bash, mais on m'ai dit que ce n'etait pas trop trop dur a faire . Il suffirai de bien utiliser la commande find, mais j'aurai besoin de votre aide.
Je vous remercie par avance de vos réponses
Hors ligne
#2 Le 09/12/2007, à 23:31
- coca25
Re : [Script Bash] aide tri extension-date
#!/bin/bash
rep_dest=$1
ext=$(echo $2 | sed 's/.*\.\([^\.]\+$\)/\1/')
annee=$(stat -c %y $2 | grep -o '^....')
if [ ! -d $rep_dest/$ext/$annee -o ! -d $rep_dest/$ext/$annee ]; then
echo création de $rep_dest/$ext/$annee
# mkdir -p $rep_dest/$ext/$annee
fi
echo déplacement du fichier $2 vers $rep_dest/$ext/$annee
# mv $2 $rep_dest/$ext/$annee
tu l'enregistres avec comme nom trier.sh par exemple, puis tu lui donnes le droit d'execution:
chmod +x trier.sh
puis tu lances:
find repertoire_source -type f -exec ./trier.sh repertoire_destination \{\} \;
j'ai laissé le "mkdir" et le "mv" en commentaires, tu testes et si ce qu'il te sort te convient, tu peux enlever les #
Dernière modification par coca25 (Le 09/12/2007, à 23:43)
Hors ligne
#3 Le 12/12/2007, à 09:23
- fran66674
Re : [Script Bash] aide tri extension-date
Je te remercie beaucoup ^^
Je teste ca des que je peux et je te tiens au courant...
Hors ligne