Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/07/2012, à 19: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, à 19:25)


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#2 Le 23/07/2012, à 23: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, à 20: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, à 20:54)


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#4 Le 25/07/2012, à 00: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 25/07/2012, à 00:07)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 25/07/2012, à 06: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, à 06:58)


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#6 Le 25/07/2012, à 12: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