Equivalent du 'like' en shell
Claude Lacroix
-
nowahn Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
nowahn Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à comparer 2 chaines de caractère avec un shell sous LINUX (/bin/sh) :
extrait du shell :
..
Site="toto"
if [ "Nom" ??? "$Site" ]
then
ect....
avec mes $Site pouvant avoit les valeurs toto1 toto2 toto3 ...etc, donc ces valeurs peuvent 'matcher' à mon test.
Je cherche l'opérateur ??? faisant l'équivalent du 'like' sous SQL
Merci
Claude
Je cherche à comparer 2 chaines de caractère avec un shell sous LINUX (/bin/sh) :
extrait du shell :
..
Site="toto"
if [ "Nom" ??? "$Site" ]
then
ect....
avec mes $Site pouvant avoit les valeurs toto1 toto2 toto3 ...etc, donc ces valeurs peuvent 'matcher' à mon test.
Je cherche l'opérateur ??? faisant l'équivalent du 'like' sous SQL
Merci
Claude
A voir également:
- Shell like
- Classic shell - Télécharger - Personnalisation
- Voir like instagram - Guide
- Coco like - Accueil - Réseaux sociaux
- Wawacity like - Accueil - Outils
- Classic shell c'est quoi ✓ - Forum Windows 10
2 réponses
Bonjour,
2 solutions, mais qui marche sous bash, pas sur que ça marche sous sh si il n'est pas bash (tu n'as qu'à essayer) :
- la forme simple :
Ça utilise les mêmes caractères spéciaux que le shell (*, ?, […], …).
- la forme plus complexe :
Ça utilise des expressions régulière, c'est plus complexe mais ça permet de faire plus de chose.
Pour ton cas, la première solution est suffisante.
PS : fait pas gaffe aux liens, j'arrive pas à supprimer l'effet des doubles [] dans le message.
2 solutions, mais qui marche sous bash, pas sur que ça marche sous sh si il n'est pas bash (tu n'as qu'à essayer) :
- la forme simple :
if [["$Site" == toto*]]Il faut les doubles [[et]], pas de "" autour du deuxième argument.
Ça utilise les mêmes caractères spéciaux que le shell (*, ?, […], …).
- la forme plus complexe :
if [["$Site" =~ 'toto.*']]Il faut aussi les doubles [[et]].
Ça utilise des expressions régulière, c'est plus complexe mais ça permet de faire plus de chose.
Pour ton cas, la première solution est suffisante.
PS : fait pas gaffe aux liens, j'arrive pas à supprimer l'effet des doubles [] dans le message.