In Powershell, wie die letzte Zeile (oder alle Zeilen), die eine bestimmte Zeichenfolge in einer großen Textdatei (ca. 200000 Zeilen/30 MB) enthält, so schnell wie möglich zu lesen und zu erhalten? Ich verwende:Holen Sie alle Zeilen, die einen String enthalten, in eine riesige Textdatei - so schnell wie möglich?
get-content myfile.txt | select-string -pattern "my_string" -encoding ASCII | select -last 1
Aber es ist sehr, sehr lang (ca. 16-18 Sekunden). Ich habe Tests ohne das letzte Rohr "select -last 1
", aber es ist die gleiche Zeit.
Gibt es einen schnelleren Weg die letzte Vorkommen (oder alle Vorkommen) einer bestimmten Zeichenfolge in riesigen Datei zu bekommen?
Vielleicht ist es die benötigte Zeit ... Oder gibt es eine Möglichkeit, die Datei schneller vom Ende zu lesen, wie ich das letzte Vorkommen wollen? Danke
Der Grund gab es kein ändern Sie, ob Sie an "Select -last 1" weitergeleitet haben oder nicht, weil die gesamte Datei verarbeitet werden muss, um zu wissen, welche "letzte" ist. –
Sie müssen möglicherweise .NET verwenden, um etwas Leistung dort zu haben: [Beginnen, massive Textdatei vom Ende zu lesen] (http://stackoverflow.com/questions/13621225/start-reading-massive-text-file-from-the -Ende). – Neolisk