Le Sun, Nov 14, 2004 � 04:43:21PM +0100, Lehmann Guillaume a �crit > J.Pierre Pourrez wrote: > >Bonjour, > > > >J'utilise grep pour rechercher une ligne dans un fichier tri� de 14000 > >lignes. > Une seule et unique ligne ? > > >Je suppose que la recherche se fait ligne par ligne dans le fichier et > >cela me semble un peu bourrin quand la recherche s'effectue plusieurs > >centaines de fois.
Si chaque fois est suite � une action d'un op�rateur humain les d�lais de grep sont raisonnables. je viens de faire un test (portable PIII 500Mhz, 512 Mo) : $ time grep -e 'zzzzzzzz' * real 0m0.071s user 0m0.030s sys 0m0.040s $ pwd /usr/share/doc/postgresql-doc/html $ wc -l *|grep total 329529 total $ du -hs 6,4M . Si entre les modifications du fichier les m�mes motifs de grep sont utilis�s plusieurs fois il peut �tre int�rressant de stocker les r�sultats positifs de grep dans un fichier acc�l�rateur. Maintenant si le fichier est modifi� souvent que les recherches sont toutes diff�rentes et ex�cut�es dans le cadre d'un traitement automatique qui montre des probl�mes de performance alors la ces m�thodes seront insuffisantes surtout si la m�moire de la machine est insuffisante pour tout garder en m�moire fichier compris. > > > >Existe-t-il un rempla�ant pour grep qui effectue une recherche plus > >rapide genre recherche par dichotomie ? > > > >Je souhaite utiliser cela dans un script shell. > L'option -m de grep permet d'arr�ter la recherche une fois > trouv�e N fois la ligne. Donc si tu prends 1 comme valeur, d�s > que la ligne est trouv�e, il s'arr�tera. Au pire c'est comme si > tu parcourais les 14000 lignes (la ligne recherch�e se trouve � > la fin), au mieux, tu ne parcoureras que quelques centaines de > ligne (la ligne recherch�e est vers le d�but). Suivant la > fr�quence � laquelle tu fais tes recherches et la puissance de ta > machine, ca pourra aller ou pas. > > Je ne connais pas d'outil sinon pour faire une recherche par > dichotomie et je pense que si j'en avais besoin, avec une boucle > 'for' et la commande 'nl' j'arriverai � trouver mon bonheur :) > > Bon we. > Guillaume > > > -- > Pensez � lire la FAQ de la liste avant de poser une question : > http://wiki.debian.net/?DebianFrench > > Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" > > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] -- Francois Mescam

