Script en bash

Utilisateur anonyme -  
 dje-dje -
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 Statut Membre 6
 
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
 
Normalement on peut car "à la main" c'est possible.


Sans C, nous n'aurions que Pasal, Basi, et obol
:o)
0
mat
 
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
 
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
dje-dje
 
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