Warum ist "weniger" viel langsamer als "grep"?


12

Ich muss manchmal Dateien durchsuchen, die mehrere Gigs umfassen, und habe festgestellt, dass das Finden, wonach ich mit grep suche, viel schneller ist als mit weniger. Warum könnte das sein? Ich spreche von der Suche nach einem bestimmten Tag / Wort, nicht einmal nach einem komplizierten regulären Ausdruck.


Keine Antwort, aber haben Sie darüber nachgedacht, grep und dann eine Pipe zu verwenden, um die Ergebnisse an weniger weiterzugeben?
Ridogi

1
Ja, ich verwende normalerweise grep mit -A / B / C, um einen Kontext für das zu erhalten, wonach ich suche, aber manchmal benötige ich mehr Flexibilität, wenn ich Protokolldateien betrachte, und muss in der Lage sein, von dort aus zu scrollen und schrittweise zu suchen / vor
Naumcho

Antworten:


9

Standardmäßig berechnet 'less' die Zeilennummern, was zu einer Verlangsamung führen kann. Verwenden Sie die Option '-n', um Zeilennummernberechnungen zu unterdrücken und festzustellen, ob dies die Dinge beschleunigt.


2
Ich denke, die Zeilenzählung erfolgt, sobald grep Ihre Übereinstimmung gefunden hat. Dann sehen Sie "Berechnen der Zeilennummern" und es dauert eine Weile, bis Sie etwas tun können, aber Sie können dies mit Strg + c abbrechen. Es sieht nicht so aus, als ob das -n bei der tatsächlichen Suchgeschwindigkeit hilft.
Naumcho

Das hat den Trick für mich getan. Beim Öffnen einer Protokolldatei mit fast 10 GB und Drücken der Umschalttaste G wurde ein großer Unterschied festgestellt (z. B. in zehn Sekunden gegenüber der sofortigen Reaktion), um zum Ende der Datei zu gelangen.
Marcello Romani

@ MarcelloRomani Shift-G hat jedoch nichts mit Suche zu tun
Martin Konecny
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.