Script en bash

Fermé
Utilisateur anonyme - 7 juin 2002 à 14:33
 dje-dje - 10 juin 2002 à 15:23
salut,

J'ai le script suivant pour renommer des images en les redimensionnant

#! /bin/bash
for i in $( ls ); do
NOM=$(basename "$i" .jpg)
echo "Fichier : $i"
convert -geometry 100x75 "$i" "m$NOM.jpg"
done

Ecrit tel quel, il fonctionne bien et place donc un "m" devant le nom initial du fichier, mais si je veux faire précéder le nom initial d'un zéro, ça plante...

Si qq1 a 1 idée...

Sans C, nous n'aurions que Pasal, Basi, et obol
:o)
A voir également:

4 réponses

gaillardps Messages postés 94 Date d'inscription mercredi 27 mars 2002 Statut Membre Dernière intervention 9 décembre 2005 6
7 juin 2002 à 16:05
J'suis pas un spécialiste du bash mais t'es sûr que les noms des fichiers peuvent commencer par un chiffre ?

PS
0
Utilisateur anonyme
7 juin 2002 à 16:14
Normalement on peut car "à la main" c'est possible.


Sans C, nous n'aurions que Pasal, Basi, et obol
:o)
0
salut,

je ne comprends pas ce que tu veux faire, mais je te propose qqchose: tout simplement faire un "cp":

cp "m$NOM.jpg" "m0$NOM.jpg"

C'est quoi ton message d'erreur, parce que "ça plante", bofbof.

mat
0
Utilisateur anonyme
10 juin 2002 à 14:42
iop iop,

Oui C vrai que c'est bof mais je n'avais pas le message sous la main, j'ai posté le message du boulot... :o)

toujours est-il que j'ai résolu mon problème comme ça :

#! /bin/bash
for i in $( ls ); do
NOM=$(basename "$i" .jpg)
echo "Fichier : $i"
convert -geometry 100x75 "$i" """0""$NOM.jpg"
done

C'est à dire en remplaçant le m par ""0"", et cette fois ça marche !!
Merci quand même, a++

Sans C, nous n'aurions que Pasal, Basi, et obol
:o)
0
Il me semble que les caracteres speciaux sous unix son precede d'un \ ou d'un /.
le fichier "truc machin" donne "truc\ machin".
peut-etre faut il se / ou \ devant ton '0'
a+
0