Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2971 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Question comparaison de string en BASH

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question comparaison de string en BASH

n°856755
tatan
Posté le 27-10-2006 à 22:10:22  profilanswer
 

Je cherche une manière de faire une comparaison rapide d'un string avec case insensitive présentement j'utilise cette méthode :  
 
if [ $(echo "$VAR1"  | tr a-z A-Z ) = "STRING_RECHERCHÉ" ]
 then
  do stuff
fi
 
mais ce n'est pas très rapide.
 
Deuxième truc je cherche un moyen rapide de savoir si un string est dans un autre
 
exemple if sssssallosssssss = allo then.....
 
Je veux que le puisque les deux variables contienent le même mot je puisse extraire un résultat positif.
 
 
merci :bounce:  

mood
Publicité
Posté le 27-10-2006 à 22:10:22  profilanswer
 

n°856770
P-Y
Posté le 27-10-2006 à 23:11:11  profilanswer
 

pour la premiere question, je vois pas trop comment faire ca plus rapidement...
pour la deuxieme question, tu peux faire ca a coup de sed:
 
STR="ssssssallossssss"
 
TMP=`echo $STR | sed -e 's/^.*allo/allo/g' | sed -e 's/allo.*$/allo/g'`
 
if [ $TMP = $STR ]; then
  echo pas trouve
else
  echo trouve
fi


Message édité par P-Y le 27-10-2006 à 23:12:44
n°856778
thierryR
J'aime les bretzels
Posté le 27-10-2006 à 23:30:16  profilanswer
 

Je me demande en passant par un fichier temporaire
faire un grep -i  


---------------
Penguin online qui ne fait que des conneries, et qui aime ça. Membre du http://www.fonacon.net/
n°858287
Toucouch
Posté le 01-11-2006 à 17:48:08  profilanswer
 

Code :
  1. tmp1=azeRTY
  2. tmp2=zEr
  3. echo "$tmp1" | grep -qi "$tmp2"
  4. if [ $? == 0 ]
  5. then
  6.   echo "Trouvé"
  7. else
  8.   echo "Pas trouvé"
  9. fi


Message édité par Toucouch le 02-11-2006 à 14:41:30
n°858488
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 02-11-2006 à 14:18:10  profilanswer
 

Tu devrais étudier le man de expr.
Notamment il y a un expr match STRING PATTERN
 
Donc tu pourrais ptet tenter un :
expr match toto [tT][oO][tT][oO]
pour la comparaison insensitive.
 
La même option peut servir pour détecter une substring qq part dans une string
 
La forme abrégée (sous bash en tout cas) :
if [[ $STR == *allo* ]]


Message édité par Xavier_OM le 02-11-2006 à 14:34:30

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°858499
Toucouch
Posté le 02-11-2006 à 14:41:06  profilanswer
 

Oups ! J'ai oublié l'option -i pour le grep ! (J'édite mon post précédent.)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Question comparaison de string en BASH

 

Sujets relatifs
[debian] probleme Samba, question SquidConfiguration de Bash.
Question sur ProFTPdsimple question
Question sur l'installation en dual boot de linux et XPConfig pour beryl et question codecs edgy pour totem
[bash] traitement d'une variableSuppression de mots via bash ou sed
Debian config minimum et question sous virtual pc !![Bash] Affectation de données dans un tabeau via une boucle
Plus de sujets relatifs à : Question comparaison de string en BASH


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR