#1 Le 23/07/2012, à 18:25
- joko
déplacement de fichiers d'un même type mime
Bonjour,
j'ai écrit un petit script qui me déplace des images d'un répertoire à un autre (en fait des fichiers dont l'extension est jpg) et je voudrais en fait sauvegarder tous les fichiers qui sont des images (soit des jpg, des gifs, des png d'autres encore).
Copier des fichiers dont l'extension est jpg n'est pas une bonne soluce, ça fait la blague comme on dit, mais c'est pas tip top. J'ai regardé s'il n'y avait pas une option avec la commande
mv
mais pas trouvé, j'ai cherché aussi du côté de
file -i
pas trouvé non plus, alors comme d'hab' je m'adresse à vous.
J'ajoute qu'un script qui pourrait aussi gérer d'autre type mime que des images peut aussi avoir son intérêt.
Merci d'avance
Dernière modification par joko (Le 23/07/2012, à 18:25)
Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks
Hors ligne
#2 Le 23/07/2012, à 22:08
- louis94
Re : déplacement de fichiers d'un même type mime
Bonjour,
La commande
file --mime-type -b $FICHIER
renvoie le type MIME s'il est connu/déterminable. J'ai testé avec des fichiers à extension non-standard et ça fonctionne.
Louis
Hors ligne
#3 Le 24/07/2012, à 19:49
- joko
Re : déplacement de fichiers d'un même type mime
Bon ça y est, merci à tous
pour ceux que ça intéresse voici le code
# !/bin/bash
#######################################################################o
#
# Déplace les fichiers en fonction de leur type MIME
#
#######################################################################
dossier_source="/home/henri/Bureau"
dossier_cible="/media/Nouveau nom/all"
#######################################################################
for fichier in "$dossier_source"/*
do
f1=`file --mime-type -b "$fichier"` # on récupère les infos mime sur le fichier
f2=${f1:0:5} #on récupère les 5 premiers caractères
#... et on regarde si la chaine correpond à image
if [ $f2 == 'image' ] ; then
mv "$fichier" "$dossier_cible"
fi
done
#######################################################################
que ceux qui m'ont filé un p'tit d'paluche en soient remerciés
P.s.
Dans unity, j'ai créé un lanceur via alacarte. La commande à taper dans le menu de alacarte est : bash /home/user/là_où_mettez_vos_scripts/deplacer_image.sh. L'important est de bien taper "bash" avant le chemin du fichier sinon ça ne marche pas.
Dernière modification par joko (Le 24/07/2012, à 19:54)
Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks
Hors ligne
#4 Le 24/07/2012, à 23:06
- Watael
Re : déplacement de fichiers d'un même type mime
salut,
#!/bin/bash
dossier_source="/home/henri/Bureau"
dossier_cible="/media/Nouveau nom/all"
for f in "$dossier_source"/*
do [[ $(file --mime-type -b "$f") == image* ]] && mv "$f" "$dossier_cible"
done
les double-crochets permettent de genre de choses (entre autres).
Dernière modification par Watael (Le 24/07/2012, à 23:07)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#5 Le 25/07/2012, à 05:57
- joko
Re : déplacement de fichiers d'un même type mime
merci Watael, je vais tester ton script qui est plus concis
Dernière modification par joko (Le 25/07/2012, à 05:58)
Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks
Hors ligne
#6 Le 25/07/2012, à 11:51
- joko
Re : déplacement de fichiers d'un même type mime
@Watael, l'essayer c'est l'adopter,
merci, en revanche m'sieur ç'aurait bien de commenter le script ; ça peut toujours aider pour la réalisation d'autres...
en tout cas merci
Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks
Hors ligne