Rechercher une chaine de caractères

Rechercher une chaine de caractères - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 16-11-2004 à 17:12:20    

Bonjour à tous !
Je crée actuellement un script sous bash et j'ai des difficultés à effectuer une recherche sur une chaine de caratère particulière qui contient un $ :  
$smarty
 
Voici la commande que j'utilise :  
find . -name "*" | xargs grep "\$smarty"
Mais cette commande me retourne en plus des chaines correctes, des chaines de ce style : printf($params['format'],$smarty_math_result);
 
Or je ne voudrais que les ligne qui contiennent exactement $smarty et pas celles du genre $smarty_math_result.
 
Comment faire ????
 
Par ailleurs, je voudrais par la suite, faire un script qui remplacerait "$smarty"
 par une autre : "$smarty_M4X" et ce sans changer celles du genre $smarty_math_result.
 
Merci


Message édité par geeko74 le 16-11-2004 à 17:13:17

---------------
www.suse74.tk
Reply

Marsh Posté le 16-11-2004 à 17:12:20   

Reply

Marsh Posté le 16-11-2004 à 21:12:22    

geeko74 a écrit :

Voici la commande que j'utilise :  
find . -name "*" | xargs grep "\$smarty"
Mais cette commande me retourne en plus des chaines correctes, des chaines de ce style : printf($params['format'],$smarty_math_result);


 
Pour tu n'utilises pas grep -r ?

grep -r '$smarty' *


 
EDIT: arg, je lis pas les problèmes en entier... ça n'a rien à voir avec la question  ^^
 
avec un peu de chance, je peux déguiser ce post en up...


Message édité par apt-get le 16-11-2004 à 21:14:46
Reply

Marsh Posté le 16-11-2004 à 21:16:42    

geeko74 a écrit :

Mais cette commande me retourne en plus des chaines correctes, des chaines de ce style : printf($params['format'],$smarty_math_result);


 
ben, il faut que tu ajoutes une regexp à ton grep

Reply

Marsh Posté le 17-11-2004 à 10:14:05    

J'ai regarder le man de regexp ainsi que plusieurs sites, mais j'ai pas tout pigé sur l'utilisation du regexp.
Est-ce que tu peux developper ?
 
Merci

Reply

Marsh Posté le 17-11-2004 à 15:49:03    


echo '$smarty bla
$smarty_math_result blo' | grep -r "\$smarty[^_]"
$smarty bla

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed