Shell - comparer chaine de caractère
Résolu/Fermé
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
-
6 juin 2011 à 18:13
wida Messages postés 150 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 28 novembre 2011 - 6 juin 2011 à 18:45
wida Messages postés 150 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 28 novembre 2011 - 6 juin 2011 à 18:45
A voir également:
- Shell compare string
- Classic shell windows 11 - Télécharger - Personnalisation
- Beyond compare gratuit - Télécharger - Gestion de fichiers
- Amazon europe compare - Guide
- Shell do while ✓ - Forum Shell
- Startup.nsh shell ✓ - Forum Windows 10
8 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 415
6 juin 2011 à 18:31
6 juin 2011 à 18:31
Salut,
Perso j'utiliserai plutôt "grep" et l'analyse du code retour ($?) :
;-))
Perso j'utiliserai plutôt "grep" et l'analyse du code retour ($?) :
$ A=chaine;B="Ma chaine à moi" $ grep -q "${A}" <<< "${B}" $ echo $? 0 $ A=chaine;B="Ma chaîne à moi" # J'ai modifié le "î" de chaine $ grep -q "${A}" <<< "${B}" $ echo $? 1 $
;-))
Utilisateur anonyme
6 juin 2011 à 18:41
6 juin 2011 à 18:41
salut,
si c'est en bash, alors
si c'est en shell POSIX
si c'est en bash, alors
var1="foo bar baz" var2="baz" if [[ $var1 == *$var2 ]]; then echo "match"; else echo "no match"; fi
si c'est en shell POSIX
if echo "$var1" | grep "$var2" >/dev/null 2>&1; then echo "match"; else echo "no match"; fi
Dr.W
Messages postés
390
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
29 juin 2011
40
6 juin 2011 à 18:14
6 juin 2011 à 18:14
Pourquoi les quotes "?
T'as testé avec -eq a la place du = ?
T'as testé avec -eq a la place du = ?
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
6 juin 2011 à 18:21
6 juin 2011 à 18:21
j'utilise les quotes parce que sans j'ai cette erreur :
j'ai essayé maintenant avec -eq, sans quote il donne la même erreur que le = et avec il m'affiche cette erreur :
unary operator expected
j'ai essayé maintenant avec -eq, sans quote il donne la même erreur que le = et avec il m'affiche cette erreur :
integer expression expected
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dr.W
Messages postés
390
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
29 juin 2011
40
6 juin 2011 à 18:23
6 juin 2011 à 18:23
ahh c'est un '==' qu'il faut
http://www.tech-recipes.com/rx/209/bournebash-shell-scripts-string-comparison/
http://www.tech-recipes.com/rx/209/bournebash-shell-scripts-string-comparison/
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
6 juin 2011 à 18:27
6 juin 2011 à 18:27
ça donne pas d'erreur mais pareil que le =, ça marche pas!
je pense que c'est * qui gène !
je pense que c'est * qui gène !
Dr.W
Messages postés
390
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
29 juin 2011
40
Modifié par Dr.W le 6/06/2011 à 18:30
Modifié par Dr.W le 6/06/2011 à 18:30
Faudrai faire un grep plutôt
Ou n'importe quel regexp. je crois qu'il y a awk pour ça
Ou n'importe quel regexp. je crois qu'il y a awk pour ça
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
6 juin 2011 à 18:45
6 juin 2011 à 18:45
Merci à tous pour votre aide :)
6 juin 2011 à 18:33
6 juin 2011 à 18:45