Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[grep] trouver le mot
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Mon Feb 06, 2006 4:26 pm    Post subject: [grep] trouver le mot Reply with quote

Bon, avec le status d'openvpn, je génère une page html, mais le grep ne répond pas correctement à la requette:

Code:

serveur ~ # echo "loop-nb" | grep -w "loop-nb"
loop-nb
serveur ~ # echo "loop-nb" | grep -w "loop-n"
serveur ~ # echo "loop-nb" | grep -w "loop-"
serveur ~ # echo "loop-nb" | grep -w "loop"
loop-nb


En fait, j'ai un pc "loop" et un portable "loop-nb".

Donc, dans le grep, je rajoute un -w (pour etre sur que le mot COMPLET existe), mais on dirais que le "-" est reconnu comme un caractère :( => mon grep -w loop me retourne loop alors que c'est juste loop-nb de connecté :(...

Une idée pour contourner le problème ?
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
_droop_
l33t
l33t


Joined: 30 May 2004
Posts: 957

PostPosted: Mon Feb 06, 2006 4:37 pm    Post subject: Reply with quote

Bonjour,

grep répond correctement à ta requete. En effet - ne peut pas faire partie d'un mot (voir le man de grep). Par contre ça ne correspond pas à ce que tu voudrais.

Tu peux mettre un 2e grep pour être sûr que ce soit pas le plus long qui a été selectionnée, exemple :

Code:
(echo "loop-nb" ; echo "loop") | grep -w "loop" | grep -v "loop-nb"
loop


Voilà.
Back to top
View user's profile Send private message
truz
Apprentice
Apprentice


Joined: 26 Feb 2005
Posts: 293
Location: France - Paris

PostPosted: Mon Feb 06, 2006 5:56 pm    Post subject: Reply with quote

Et comme ça ?
Code:
$echo "loop-nb" | grep -w "loop[\-].*"
$loop-nb

$echo "loop" | grep -w "loop[\-].*"
$

_________________
Je sais que mes droits s'arrêtent là où commencent ceux des autres. Mais est-ce ma faute si les droits des autres commencent si loin ? [Quino] -- Mafalda
Back to top
View user's profile Send private message
TTK
Guru
Guru


Joined: 02 Mar 2004
Posts: 523

PostPosted: Mon Feb 06, 2006 9:29 pm    Post subject: Reply with quote

Le - est un séparateur de mot pour grep. On ne peut pas changer la liste des "non-word" caractères. Ton pb est de différencier les lignes loop des lignes loop-nb. Essaie:

Code:

echo "loop-nb" | grep 'loop[^-]'
echo "loop-nb" | grep 'loop-nb'


Le -w te permettra juste d'éviter les lignes contenant ceciestunloopdetrop par exemple.
Tshaw
Back to top
View user's profile Send private message
loopx
Advocate
Advocate


Joined: 01 Apr 2005
Posts: 2787
Location: Belgium / Liège

PostPosted: Tue Feb 07, 2006 1:32 am    Post subject: Reply with quote

_droop_ wrote:
Code:
(echo "loop-nb" ; echo "loop") | grep -w "loop" | grep -v "loop-nb"
loop



Oki, je vais essayer ca :)
_________________
Mon MediaWiki perso : http://pix-mania.dyndns.org
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum