[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Regexp de grep (Was: Re: kswapd a 100% cpu)



 --- Frederic Bothamy <fbothamy@mail.dotcom.fr> a
écrit : > VALLIET Manu wrote:
> 
> > Le 23/11/01, Frederic Bothamy a ecrit:
> > 
> > 
> >>fred@zeus:~$ ps auxw | grep kswapd | grep -v grep
> >>root         4  0.0  0.0     0    0 ?        SW  
> 21:42   0:00 [kswapd]
> >>
> > 
> > Tiens, un truc pratique, surtout dans les scripts:
> le double backslash:
> > 
> > fylb@beap:~$ ps aux | grep k\\swapd
> > root         5  0.0  0.0     0    0 ?        SW  
> 22:46   0:00 [kswapd]
> 
> 
> Euh j'aimerais bien comprendre ce que fait
> exactement le \\ (je suis 
> curieux, c'est vrai ... :-)), à moins que ça soit le
> \\s ? J'ai cherché 
> la man et le info de grep sans trouver
> d'explication. Sinon, j'ai pu 
> obtenir le même résultat avec un \\b au début de
> kswapd (pour indiquer 
> le début d'un mot) (ou \b en mettant kswapd entre
> guillements).

Mon explication :
  quand tu écrit "grep k\\swapd" le shell interprète
le premier '\'. Ce qui fait que grep obtient dans son
entrée standard la chaine "k\swapd". grep interprète
le "\s" comme étant un "s" et il va donc rechercher
les occurences de la chaine "kswapd". Au final tu
obtiendra bien la ligne concernant le processus kswapd
mais tu évitera d'afficher celle concernant le
processus "grep k\swapd". Une astuce similaire est de
taper "grep k[s]wapd".



___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Courrier : http://courrier.yahoo.fr



Reply to: