#1 Le 03/07/2008, à 22:39
- mirage59
[Resolu] [bash] Modifier une variable entré par l'utilisateur
Bonsoir,
Voila j'aimerais faire un script qui demande a l'utilisateur de rentré le nom
d'un fichier, et récupérer cette chaîne (jusque là c'est bon)
Où ça ce complique c'est que si l'utilisateur rentre autre chose que test.zip
le script ne peux plus récupéré test.zip (si l'utilisateur entre test.ZIP ou
TeSt.ZiP ou TEST.ZIP ect. le script ne marche plus)
J'ai déjà chercher, trouvé divers post sur "sed" mais rien qui ne me convient
(vu que je ne souhaite pas modifier une chaîne dans un fichier mais changer
une partie de la chaîne qui compose une variable)
Merci beaucoup de votre aide parce que là je suis vraiment bloqué par ce
problème
Dernière modification par mirage59 (Le 03/07/2008, à 23:21)
L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]
Hors ligne
#2 Le 03/07/2008, à 23:11
- ADcomp
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
Yep ,
Peut-être quelque chose du genre ..
echo "Le MOT aVec changeMenT dE CassE" | tr -s A-Z a-z
affiche "le mot avec changement de case"
PS: 2 secondes de recherche maxi sur google ou autres ..
conversion majuscule minuscule en bash --> 2em résultat
Mes 2 cents,
@pluche
David [aka] ADcomp
Hors ligne
#3 Le 03/07/2008, à 23:12
- philpinch
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
#!/bin/bash
clear
echo -e "Taper le nom du fichier .dll manquant et appuyé sur Entrée \n:"
read nomdll
# convertir nomdll en minuscule
n=`echo $nomdll | tr A-Z a-z`
if [ `expr index "$n" .dll` -gt 0 ]
then
wget http://files.my-dll.com/mydll-"$n".zip
else
wget http://files.my-dll.com/mydll-"$n".dll.zip
fi
Hors ligne
#4 Le 03/07/2008, à 23:16
- mirage59
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
MAGNIFIQUE, merci énormément philpinch
@ADcomp: désolé j'ai recherché avec beaucoup de mot mais j'avais pas fait cette recherche (C'est la fatigue...) et merci pour ta solution même si je préfère celle de philpinch
Merci a vous 2 de vous être penchez sur mon problème.
L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]
Hors ligne
#5 Le 03/07/2008, à 23:18
- philpinch
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
Content que cela te plaise.
bonne continuation.
Hors ligne
#6 Le 03/07/2008, à 23:31
- Alain.g
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
J'ai déjà chercher, trouvé divers post sur "sed" mais rien qui ne me convient
(vu que je ne souhaite pas modifier une chaîne dans un fichier mais changer
une partie de la chaîne qui compose une variable):/
Bonsoir
On peut très bien utiliser sed :
nomdll=$(sed 's/.*/\L&/' <<< "$nomdll")
Xubuntu Karmic !
Hors ligne
#7 Le 03/07/2008, à 23:36
- mirage59
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
@Alain.g :
Promis que je n'avais pas vu de ligne de code similaire sur le net (ou alors c'était justement au moment ou je cligné des yeux )
Ceci mis a part ta ligne de code est probablement très intéressante mais a minuit et demi je galère;ta ligne m'apparait bien obscur en ce moment
Si j'ai le temps je tenterai de comprendre ta ligne demain
Merci pour ta commande alternative
L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]
Hors ligne
#8 Le 04/07/2008, à 02:55
- Link31
Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur
On peut très bien utiliser sed :
nomdll=$(sed 's/.*/\L&/' <<< "$nomdll")
#!/bin/bash
Mais c'est intéressant comme syntaxe, je ne connaissais pas (il y a de quoi s'occuper des mois avec le man bash...).
Hors ligne