Pourquoi «moins» est-il beaucoup plus lent que «grep»?

12

Je dois parfois parcourir des fichiers qui font plusieurs concerts et j'ai remarqué que trouver ce que je cherchais avec grep est beaucoup plus rapide qu'avec moins. Pourquoi est-ce possible? Je parle de chercher un certain tag / mot, pas même une expression rationnelle compliquée.

naumcho
la source
Pas une réponse, mais avez-vous envisagé d'utiliser grep puis un pipe pour passer les résultats sur less?
ridogi
1
Oui, j'utilise généralement grep avec -A / B / C pour obtenir un peu de contexte autour de ce que je recherche, mais parfois j'ai besoin de plus de flexibilité car je regarde les fichiers journaux et je dois pouvoir faire défiler et rechercher incrémentalement à partir de là / avant
naumcho

Réponses:

9

Par défaut, «moins» calcule les numéros de ligne, ce qui peut le ralentir. Essayez d'utiliser l'option '-n' pour supprimer les calculs de numéro de ligne et voir si cela accélère les choses.

Jon Lasser
la source
2
Je pense que le comptage de lignes se produit une fois que grep a trouvé votre correspondance - alors vous voyez "Calculer les numéros de ligne" et cela prend un certain temps avant de vous laisser faire quoi que ce soit, mais vous pouvez l'annuler avec ctrl + c. Il ne semble pas que le -n aide à la vitesse de recherche réelle.
naumcho
Cela a fait l'affaire pour moi. Remarqué une énorme différence (comme en dizaines de secondes par rapport à la réponse instantanée) lors de l'ouverture d'un fichier journal de près de 10 Go et en appuyant sur le décalage G pour arriver à la fin du fichier.
Marcello Romani
@MarcelloRomani shift-G n'a rien à voir avec la recherche
Martin Konecny