Bonjour,
Je suis nouveau sur ce site car j'étais un malade de Windows, puis mon docteur m'a prescrit un traitement sous linux. Depuis quelques temps je prends de l'Ubuntu 9.10 et je commence à aller beaucoup mieux. Toutefois quelques problèmes subsistent et je craint une rechute. Plus sérieusement, voici mon problème. J'ai créé un script pour mettre des images (uniquement celles qui sont au format .jpg) en taille vignette. Mais j'ai aussi des images dans un autre format (png, gif, bitmat, etc...). Je n'arrive pas à mettre une ligne de script qui affiche un message d'erreur si le fichier n'est pas en .jpg.
Voici mon script.
#!/bin/sh
#Pour vérifier s'il y a au moins 1 argument.
if [ $# -eq 0 ];
then
echo "Veuillez entrer un nom de fichier"
else
#Pour déclarer le répertoire en cours comme lieu d'éxécution.
cd ./
fichiers=*.jpg
fi
fichiers=$1
#Pour vérifier le format du fichier.
if [ `basename $1 .jpg` = `basename $1` ];
then
echo "Ce fichier n'est pas au format jpg"
fi
#Pour modifier et renommer les fichiers demandés.
for I in $fichiers
do
convert $@.jpg -resize 40% little_$@.jpg;
echo "Fichier $I modifié et renommé en little_$I.jpg"
done
Si quelqu'un a une idée ce serait super.
Amitiés à toute et à tous
# re
Posté par NeoX . Évalué à 4.
voici la reponse que j'avais formulé sur l'autre sujet
je crois que tu as aussi un autre probleme, c'est que la touche "entrée" de ton clavier semble bloquée...
pour savoir quel est le type de fichier tu as la commande file
~$ file Images/colis-A.jpg
Images/colis-A.jpg: JPEG image data, JFIF standard 1.01
mon fichier colis-A peut tres bien etre nommé colis-A.pdf,
ca reste un jpg...
et file pourra te le dire.
sinon si tu veux simplement le faire sur l'extension
il faut probablement executer les deux commandes et stocker le resultat dans 2 variables
puis tester si les deux sont egales
test1= basename $1
test2 = basename $1 .jpg
if [ 'test1' -eq 'test2']...
[^] # Re: re
Posté par Frédéric Perrin (site web personnel) . Évalué à 1.
[^] # Re: re
Posté par Frédéric Perrin (site web personnel) . Évalué à 2.
frlanw0f03384:/tmp/a$ file *
Blue-5_4.jpg: JPEG image data, JFIF standard 1.02
fossil.png: PNG image data, 128 x 128, 8-bit/color RGB, non-interlaced
pattern-clouds.svg: XML 1.0 document text
frlanw0f03384:/tmp/a$ for I in *; do convert -resize 40% $I little_$I; done
convert: no image vector graphics `little_pattern-clouds.svg'.
frlanw0f03384:/tmp/a$ file *
Blue-5_4.jpg: JPEG image data, JFIF standard 1.02
fossil.png: PNG image data, 128 x 128, 8-bit/color RGB, non-interlaced
little_Blue-5_4.jpg: JPEG image data, JFIF standard 1.01
little_fossil.png: PNG image data, 51 x 51, 16-bit/color RGB, non-interlaced
pattern-clouds.svg: XML 1.0 document text
Bon, convert a buté sur le fichier SVG, il a dit qu'il ne savait pas comment le gérer et n'a rien fait. C'est pas le comportement qui t'intéresse ?
# find
Posté par stombi (site web personnel) . Évalué à 2.
for jpg in $(find /tmp/images/ -iname "*.jpg"); do convert -resize 40% "$jpg" "little_$(basename $jpg)"; done;
# Merci à tous. Vraiment super cette communauté Linux
Posté par nanard06 . Évalué à 2.
[^] # Re: Merci à tous. Vraiment super cette communauté Linux
Posté par ʭ ☯ . Évalué à 2.
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# Modifications images
Posté par nanard06 . Évalué à 1.
J'ai vu ça dans des exemples mais je ne sais pas à quoi ça sert.
# Modifications images
Posté par nanard06 . Évalué à 1.
[^] # Re: Modifications images
Posté par Frédéric Perrin (site web personnel) . Évalué à 1.
# Modifier un fichier image
Posté par nanard06 . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.