[gull] Petite question grep

Daniel Cordey dc at mjt.ch
Wed Nov 18 17:48:49 CET 2009


On Wednesday 18 November 2009 17:30:31 Félix Hauri wrote:

>    find . -xdev -type f -exec grep -iwq expr1 {} \; -exec grep -iwq expr2
>  {} \; -print
> 
> est la seule syntaxe qui fonctionnera de manière sûre, quelle que soit
> le taille des répertoires à parcourir (plus longue, mais efficace).

En effet, fonctionne a tous les coups. Le seul inconvenient... n'utilise ni le 
multi-threading, ni les multicore, ni les multi-cpus. Mais pour assurer la 
fonctionalite c'est pas si mal.

EN ce qui concerna la longueur de la liste d'arguments... La liste d'argument 
depend de la taille d'un buffer. Ceci est defini dans le kernel (MAX_ARG_PAGES). 
Le nombre d'argument est donc variable et depend de la longueur des 'paths' 
que l'on manipule... Ca permet quand meme de traiter quelques milliers 
d'arguments ! Neanmoins, il se peut que l'on arrive aux limites de ce qui est 
autorise et l'on est alors force d'utiliser une methode ne dependant pas du 
nombre d'arguments (comme le find au-dessus).

dc


More information about the gull mailing list