J.Pierre Pourrez wrote:
Bonjour, J'utilise grep pour rechercher une ligne dans un fichier trié de 14000 lignes.
Une seule et unique ligne ?
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 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. 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.
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