Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3107 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] traiter des fichiers dans un boucle for

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BASH] traiter des fichiers dans un boucle for

n°862565
microsoft
Posté le 13-11-2006 à 22:17:40  profilanswer
 

Bonjour à tous,
 
voilà, je cherche à générer des miniatures de photos à l'aide d'un script (utilisant ImageMagick), mais il y a une couille dans le paté au niveau de la boucle for :), il ne traite le fichier que lorsque celui-ci ne contient pas d'espace dans son nom.
Exemple quand je l'execute dans un dossier qui contient "exemple image.jpg", j'obtiens le résultat suivant:
 

Code :
  1. convert: unable to open image `exemple': Aucun fichier ou répertoire de ce type.
  2. convert: unable to open image `image.jpg': Aucun fichier ou répertoire de ce type.


 
Voici mon script :  
 

Code :
  1. #!/bin/bash
  2. for file in *.jpg
  3. do
  4.         convert $file -thumbnail 110x150 miniatures/small_$file.jpg
  5. done


 
Quelqu'un aurait-il une idée ?


Message édité par microsoft le 13-11-2006 à 22:22:42

---------------
Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse"
mood
Publicité
Posté le 13-11-2006 à 22:17:40  profilanswer
 

n°862571
DDT
Few understand
Posté le 13-11-2006 à 22:24:52  profilanswer
 

"$file" :o :D

n°862723
arghbis
salops de dauphins
Posté le 14-11-2006 à 14:12:52  profilanswer
 

voire même "${file}", pour faire bien propre :hello:

n°862831
microsoft
Posté le 14-11-2006 à 19:44:23  profilanswer
 

merci à vous deux pour vos réponses, mais je ne réussi pas à utiliser ces deux variantes...
 
[hs] je débute en scripts et j'ai vraiment du mal avec la syntaxe, je ne sais jamais quand utiliser ' , " , [ , ou {, insérer un espace ou non, si vous avez un lien qui explique ça , je suis preneur  :jap: [/hs]
 
j'ai modifié le script comme suit :
 

Code :
  1. #!/bin/bash
  2. for "${file}" in *.jpg
  3. do
  4.         convert "${file}" -thumbnail 110x150 thumbnails/ "${file}"
  5. done


 
mais quand je l'exécute, ça me donne le message suivant:
 

Code :
  1. ./miniature: line 5: `"${file}"': not a valid identifier


 
d'ailleurs je comprends pas pourquoi il trouve une erreur sur la ligne 5... la ligne 4 je veux bien mais là  :??:  
merci


---------------
Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse"
n°862896
Le Ouinhin​ Pervers
Posté le 14-11-2006 à 23:33:42  profilanswer
 

Pour débuter avec Bash, je te conseille ce guide : http://tldp.org/LDP/abs/html/
 
et sa traduction en français : http://abs.traduc.org/abs-4.1-fr/

n°862965
DDT
Few understand
Posté le 15-11-2006 à 10:44:53  profilanswer
 


Code :
  1. #!/bin/bash
  2. for file in *.jpg # là tu veux assigner fichier1.jpg fichier2.jpg ... à ta variable file
  3. do
  4.         convert "${file}" -thumbnail 110x150 "thumbnails/${file}" # et là passer la valeur de ta variable à ta commande convert
  5. done


n°863409
microsoft
Posté le 16-11-2006 à 16:08:22  profilanswer
 

Le Ouinhin Pervers a écrit :

Pour débuter avec Bash, je te conseille ce guide : http://tldp.org/LDP/abs/html/
 
et sa traduction en français : http://abs.traduc.org/abs-4.1-fr/


 
Merci monsieur ! je viens de commencer à le lire, c'est une vrai bible ce document , le bash n'aura "bientôt" plus de secrets pour moi ^^
 

DDT a écrit :

Code :
  1. #!/bin/bash
  2. for file in *.jpg # là tu veux assigner fichier1.jpg fichier2.jpg ... à ta variable file
  3. do
  4.         convert "${file}" -thumbnail 110x150 "thumbnails/${file}" # et là passer la valeur de ta variable à ta commande convert
  5. done



 
Merci beaucoup  :jap:  


---------------
Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] traiter des fichiers dans un boucle for

 

Sujets relatifs
Vérouiller une table MySQL par script Bash[resolu]vocabulaire bash
slist (bash shell)Question comparaison de string en BASH
Configuration de Bash.Debian sarge Dossiers/fichiers sauvegarde?
Impossible de copier fichiers de plus de 2GoSystème de fichiers sous win et linux ?
[redhat 7.2] comment recuperer des fichiers effacés (ext3)[DEBIAN/Sarge] quel utilisateur pour uploader des fichiers PHP
Plus de sujets relatifs à : [BASH] traiter des fichiers dans un boucle for


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR