Variable avec des noms de répertoires

Variable avec des noms de répertoires - Shell/Batch - Programmation

Marsh Posté le 27-09-2011 à 10:38:09    

Bonjour à tous,
 
Je suis à mes débuts niveau programmation bash, et les premiers soucis se font sentir. Je dois faire un script qui récupère les noms des dossiers et sous dossier d'un répertoire puis appliquer une commande au fichiers des dit répertoires.
 
Voici le code:
 
#!/bin/bash
 
album=/home/test/Bureau/tof
cd $album
dossier=$(find * -type d)
 
for i in "$dossier"
 
do  
 cd "$i"
 mogrify -format jpeg *tif
 mogrify -format jpeg *bmp
 rm *.tif *.bmp
 
done
 
 
Le problème ici c'est que le script ne va pas dans les sous répertoires. On rajoute une petite difficulté en prime: les sous répertoires peuvent avoir un espace dans leur nom.
 
Est ce que quelqu'un a une petite idée de la boulette que j'ai pu faire?
 
Merci


Message édité par Ks0s le 27-09-2011 à 15:11:42

---------------
Gigabyte France
Reply

Marsh Posté le 27-09-2011 à 10:38:09   

Reply

Marsh Posté le 27-09-2011 à 15:09:36    

J'avance un peu, le problème c'est que la commande "find" me renvoi un bloc de donnée donc ma boucle ne boucle pas car pour le script la variable $dossier à une seule valeur


---------------
Gigabyte France
Reply

Marsh Posté le 28-09-2011 à 15:54:49    

Je sais pas exactement ce que tu veux faire, mais en ligne de commande ca devrait suffire.

Code :
  1. find /home/test/Bureau/tof   \( -iname '*.bmp' -o -iname '*.tif' \) -exec mogrify -format jpg '{}' \; -delete
 

Avant de lancer la commande renseigne toi sur les paramètres !


Message édité par roondar le 28-09-2011 à 15:55:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed