Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Trouver une occurence d'une chaine dans une autre chaine
Envoyé par: nico92

salut a tous

dans un script bash j'ai besoin de trouver (ou non) une chaine de charactere dans une autre chaine.

aparament ce n'est pas possile avec grep puisque grep ne recherche aparament que das des fichiers.

pourriez vous m'aider s'il vous plait.
merci

Poste le Saturday 4 March 2006 21:46:54
Répondre     Citer    
Re: Trouver une occurence d'une chaine dans une autre chaine

Utilisez alors plutôt zsh qui connait les expressions regulières (regexpr), ou alors l'operateur =~ d'un bash s'il a été compilé avec le support des regexpr, peut-être (je n'ai pas essayé) avec
if [[ $ligne =~ "mot" ]]; then
pour chercher le mot dans la $ligne.



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 4 March 2006 21:53:29
Répondre     Citer    
Re: Trouver une occurence d'une chaine dans une autre chaine
Envoyé par: Sve@r

Citation
nico92
apparement ce n'est pas possible avec grep puisque grep ne recherche apparement que dans des fichiers.

grep lit dans un fichier ou dans l'entrée standard (faut lire le man attentivement)
#!/bin/sh
if echo "$phrase"|grep "$mot" 1>/dev/null
then
......# Mot est présent
else
......# Mot n'est pas présent
fi

Sinon, une solution astucieuse donnée par Frédéric Brugmans [linux.brugmans.net]

#!/bin/bash
if test "${phrase/$mot//}" != "$phrase"
then
......# Mot est présent
else
......# Mot n'est pas présent
fi


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Poste le Saturday 4 March 2006 23:05:39
Répondre     Citer    
Re: Trouver une occurence d'une chaine dans une autre chaine

Tu m'otes la solution de la bouche du clavier ;-)


Merci

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Sunday 5 March 2006 00:43:10
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Trouver une occurence d'une chaine dans une autre chaine
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons