Comment fonctionne grep -w ?

Comment fonctionne grep -w ? - Linux et OS Alternatifs

Marsh Posté le 17-04-2005 à 16:40:51    

root@mobile:/home/weed/script # awk -F ":" -v val=$tpartage '{print $6}' list | sed "s/|/ /g"
/home/alex /confi/
/home/alex confi/


 
 
et lorsque je veux compter le nombre d'occurence de "/home" uniquement, grep me sort 2 alors que je lui ai bien precisé, sort moi uniquement les mots en entier qui contiennent "/home".  
pour moi "/home/alex" != /home, je devrais obtenir 0 et non pas 2
 

root@mobile:/home/weed/script # awk -F ":" -v val=$tpartage '{print $6}' list | sed "s/|/ /g" | grep -cw "/home"
2


 
Comment faire avec la commande grep ?
 
J'aimerais eviter une fois de plus comparer un par un avec un for

Reply

Marsh Posté le 17-04-2005 à 16:40:51   

Reply

Marsh Posté le 18-04-2005 à 05:09:46    

Tout autres caractères que les lettres, les chiffres et le "_", sont considéré comme des séparateurs.
Si tu recherches les occurences par ligne entière, utilise plutôt grep -cx

Reply

Marsh Posté le 20-04-2005 à 00:55:23    

et bien au vu des explications, je suis oki avec mais cela contredis mes resultat ...
tu es alors d'accord avec que /home/alex ne compose qu'un seul mot ?
 
et donc que /home/alex != /alex, non ?
 
je ne veux pas comparer une ligne entiere.

Reply

Marsh Posté le 20-04-2005 à 08:53:27    

De toute façon pour grep -w, /home/alex ne compose pas un mais deux mots séparé par /,  home et alex.
Donc utilise autre chose.
 
man grep  

Code :
  1. -w, --word-regexp
  2.               Ne sélectionne que les lignes contenant une concordance formant un mot complet. 
  3.               La sous-chaîne correspondante doit donc être soit au début de la ligne, soit être  précédée  d'un
  4.               caractère ne pouvant entrer dans la constitution d'un mot. De même elle doit se trouver soit à la
  5.               fin de la ligne, soit être suivie par un caractère ne pouvant entrer dans la constitution d'un mot. 
  6.               Les caractères composant les mots sont les lettres, les chiffres et le souligné (« _ »).

Reply

Sujets relatifs:

Leave a Replay

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