Filtre avec AWK

Résolu
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024 - 22 déc. 2023 à 14:55
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024 - 22 déc. 2023 à 16:41

Bonjour,

j'ai un fichier avec 

base; sql Server; TOTO05855.domaine.net; date

base; sql Server; a-TOTO05.domaine.net; date

Je voudrais extraire la ligne lorsque le 3eme champs  contient TOTO5

j'utilise un awk 

OBJ=TOTO5

awk -F';' 'BEGIN { IGNORECASE = 1 } {if($3 ~ '\"${OBJ}\"') print $0;}'   FICHIER

mais il me sort aussi la ligne avec TOTO05855  normal. 

Cependant quand j'ajoute le "."pour n'avoir que TOTO5,   il me sort tout de même la ligne TOTO05855 

awk -F';' 'BEGIN { IGNORECASE = 1 } {if($3 ~ '\"${OBJ}.\"') print $0;}'   FICHIER

Votre avis?

Merci!! 
Windows / Chrome 120.0.0.0

1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié le 22 déc. 2023 à 16:12

¨hello

il faut "protéger" le point

un point == n'importe quel caractère

$ awk -F';' 'BEGIN { IGNORECASE = 1 } {if($3 ~ '\"${OBJ}[.]\"') print $0;}'  FICHIER
base; sql Server; a-TOTO05.domaine.net; date

"

1
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024
22 déc. 2023 à 16:41

Merci!!! 

0