Recherche de chaîne de caractère avec grep

Recherche de chaîne de caractère avec grep - Divers - Linux et OS Alternatifs

Marsh Posté le 11-04-2007 à 11:24:33    

Bonjour,
 
j'ai écrit un shell (plateforme HP-UX) qui fait entre autres choses de la recherche de chaîne de cractère en utilisant grep, en lisant un flux qui lui est donné en entrée.
 
Voici l'exemple de 2 chaînes qui peuvent être lues:  
 
GEST_RH
GEST_RH2
 
Comment faire pour qu'en faisant un grep GEST_RH, le retour de soit effectivement constitué que de GEST_RH, et non GEST_RH et GEST_RH2?
 
Merci

Reply

Marsh Posté le 11-04-2007 à 11:24:33   

Reply

Marsh Posté le 11-04-2007 à 11:30:49    

kondor76 a écrit :


Comment faire pour qu'en faisant un grep GEST_RH, le retour de soit effectivement constitué que de GEST_RH, et non GEST_RH et GEST_RH2?


 
Beau :
grep -E "GEST_RH[^2]*" <- j'ai pas le man sous la main, je suis pas très sûr de la syntaxe, mais normalement c'est ça
 
Pas beau :
grep GEST_RH | grep -v GEST_RH2

Reply

Marsh Posté le 11-04-2007 à 11:32:15    

Merci
MAis est il possible de faire une recherhe "exacte" sur GEST_RH? (sans le "2" apparaissant dans les contraintes)

Reply

Marsh Posté le 11-04-2007 à 11:43:42    

C'est à dire ? [:gratgrat]
Tu peux essayer avec les trucs du style [[:blabla:]] (ou blabla peut être: alpha, alnum, integer etc ... de mémoire, faudrait zieuter la page de man)


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 11-04-2007 à 11:48:15    

kondor76 a écrit :

Merci
MAis est il possible de faire une recherhe "exacte" sur GEST_RH? (sans le "2" apparaissant dans les contraintes)


 
euh, ben, faudrait qu'on en connaisse un peu plus sur le contexte, mais à priori, là, je vois pas (et en fait, je vois pas exactement ce que tu veux faire...)
 
Edit :
Est-ce que tu veux que la partie GEST_RH de tes GEST_RH2 apparaisse dans le résultat ? Parce que dans e cas, tu fais un grep -o GEST_RH


Message édité par G Abitbol le 11-04-2007 à 11:51:37
Reply

Marsh Posté le 11-04-2007 à 12:53:55    

en fait je voudrais précisemment qu'en faisant un grep GEST_RH, il me retourne exactement GEST_RH, pas GEST_RH2
 
Du style un phrase contenant exactement 1 mot pas toute la phrase dans lequel le mot et compris....

Reply

Marsh Posté le 11-04-2007 à 13:31:37    

kondor76 a écrit :


Du style un phrase contenant exactement 1 mot pas toute la phrase dans lequel le mot et compris....


 
Ce que je voudrais savoir, c'est si tu as des lignes du genre :
toto GEST_RH titi
toto GEST_RH2 tata
toto GEST_RH tutu
 
tu veux récupérer 3 occurences (donc matcher aussi le GEST_RH de GEST_RH2) ou seulement 2 (et donc ne pas tenir compte de la ligne contenant GEST_RH2).
Dans le premier cas, grep -o, dans le 2eme, une de mes solutions précédentes, sauf s'il est possible que tu te retrouves avec GEST_RH et GEST_RH2 dans la même ligne.
 

Reply

Sujets relatifs:

Leave a Replay

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