Script pour deplacer fichier en fonction de l'extension

Bonsoir à tous,

je voudrait réaliser un script qui déplace telle ou telle fichier en fonction de leur extension.

#!/bin/bash

# Initialise les variables:
video='/media/DATA/video/'
musique='/media/DATA/musique/'
application='/media/DATA/logiciel/'
#Deplacer fichier les fichiers video 
mv /home/essai/$fichier $video
#deplacer si musique
mv /home/essai/$fichier $musique
#deplacer si logiciel
mv /home/essai/$fichier $application

Qu’est que je doit rajouter au niveau du script pour qu’il check chaque fichier ? case? if?

Merci d’avance pour votre aide.

guigui69

#Deplacer si musique cd /home/essai for i in *.mp3 *.MP3 *.ogg *.OGG ; do mv $i $audio done
A adapter en fonction des extensions que tu veux sélectionner. De même pour les autres…

Si tu veux aussi chercher dans les sous-dossiers :

#Deplacer si musique find /home/essai -regextype posix-extended -regex '.*\.(mp3|MP3|ogg|OGG)$' -exec mv {} $audio \;

Non testé, donc essayes avec un répertoire de test avant de lancer le script sur une centaine de fichier…

Merci pour ton aide,

#!/bin/bash

# Initialise les variables:
dossier='/home/essai/'
video='/media/DATA/video/'
musique='/media/DATA/musique/'
application='/media/DATA/logiciel/'

#Deplacer fichier les fichiers video 

cd $dossier
for i in *.avu *.wmv *.mpeg ; do
   mv $i $video
done

#deplacer si musique

for i in *.mp3 *.MP3 *.ogg *.OGG *.wma ; do
   mv $i $audio
done

#deplacer si logiciel

for i in *.iso *.ISO *.exe *.msi ; do
   mv $i $application
done


#extraction fichier zip

for i in *.zip *.ZIP  ; do
unzip $i -d $dossier



done

Je voudrait si il est possible de check le dossier décompresser (zip) et qu’en fonction du nombre de fichier avec la même extension, il déplace le dossier dans un répertoire précis.

Est-ce réalisable ?

guigui69

[quote=“guigui69”]

#extraction fichier zip

for i in *.zip *.ZIP  ; do
unzip $i -d $dossier



done

Je voudrait si il est possible de check le dossier décompresser (zip) et qu’en fonction du nombre de fichier avec la même extension, il déplace le dossier dans un répertoire précis.

Est-ce réalisable ?

guigui69[/quote]

Que veux tu dire par “en fonction de”, à préciser? Sinon pour compter le nombre de fichier avec telle ou telle extension:

#extraction fichier zip

for i in *.zip *.ZIP  ; do
unzip $i -d $i
nombreDeMp3=`file $i/* | grep -i mp3 | wc -l`
nombreDeVideoFlv=`file $i/* | grep -i "Macromedia Flash Video" | wc -l`
...
ICI, bloc d'instruction exprimant ton "en fonction de"
done