Unsere tägliche Feed-Datei hat eine durchschnittliche Größe von 2 GB. Diese Dateien werden am Ende jedes Monats in einer einzelnen Zip-Datei archiviert und in einer Netzwerkfreigabe gespeichert. Von Zeit zu Zeit muss ich nach bestimmten Datensätzen in diesen Dateien suchen. Dazu verbinden Sie den Remotedesktop mit dem freigegebenen Server, entpacken Sie die Dateien in einen temporären Ordner, führen Sie die Suche in grep (oder PowerShell) aus, und löschen Sie den temporären Ordner. Da auf unserem Server derzeit wenig Speicherplatz zur Verfügung steht, wird nicht mehr empfohlen, sie alle in einen temporären Ordner zu extrahieren. Was ist eine effiziente Möglichkeit, eine Regex-Suche für diese gezippten Dateien mit minimalen Auswirkungen auf Festplatten- oder Netzwerkressourcen durchzuführen?Wie kann ich nach einem Textmuster in einer gezippten Textdatei suchen?
18
A
Antwort
22
2
In den Powershell Community Extensions (PSCX) gibt es einige zipbezogene Commandlets. Ich glaube nicht, dass sie tun würden, was Sie wollen (ich könnte mich aber völlig irren). Stattdessen würde ich verwenden. Net Zip-Bibliothek (DotNetZip), mit denen Sie im Wesentlichen die Namen der Dateien in einem Archiv auflisten und extrahieren dann nur diejenigen, die Sie wollen.
3
Die PowerShell Community Extensions (PSCX) gehören Read-Archive
und Expand-Archive
Cmdlets, aber nicht (noch?) Einen Navigationsanbieter, der machen würde, was Sie wollen, sehr einfach. Das heißt, Sie könnten Read-Archive
und Expand-Archive
verwenden. Etwas wie dieses ungetestete Bit
Read-Archive -Path foo.zip -Format Zip | `
Where-Object { $_.Name -like "*.txt" } | `
Expand-Archive -PassThru | select-string "myRegex"
würde Sie suchen lassen, ohne das gesamte Archiv zu extrahieren.
Verwandte Themen
- 1. Vergleichen Sie eine Textdatei mit einem Textmuster in C#?
- 2. Wie kann ich nach einem Wert in einem Objekt suchen?
- 3. Suchen einer Textdatei C#
- 4. Lesen der letzten Zeilen der gezippten Textdatei
- 5. Wie kann ich nach einem beschädigten PDF in iOS suchen?
- 6. Zeile in Textdatei suchen, nach Text dazwischen suchen?
- 7. Kann man eine if-Anweisung einrichten, um nach einem bestimmten Muster in einer Textdatei zu suchen?
- 8. Wie kann ich mit ack nach einem Dollarzeichen suchen (escape)?
- 9. Wie kann ich nach einer leeren Zeichenfolge in MyBatis suchen?
- 10. Suchen Sie nach ähnlichen Zeichenketten in einer Textdatei C#
- 11. Wie kann ich nach verfügbarem Speicherplatz suchen?
- 12. Wie kann ich nach einem vorhandenen Web-Ordner suchen?
- 13. Wie kann ich nach einem laufenden Prozess pro Benutzersitzung suchen?
- 14. Wie kann ich mit regulären Ausdrücken nach einem Pluszeichen suchen?
- 15. Wie kann ich nach einem laufenden Prozess mit Ruby suchen?
- 16. Wie kann ich nach bestimmten Daten suchen?
- 17. Suche nach einem Begriff in einer Textdatei mit Python
- 18. Wie kann ich nach HTML5-Videounterstützung suchen?
- 19. Wie suche ich nach einem bestimmten Absatz in einer Textdatei mit Java
- 20. Suchen nach einem Datenbankprogramm für alle kann
- 21. Kann ich mit Google App Engine nach einem Muster suchen?
- 22. nach einem Wort suchen in einer Textdatei in Java blau j
- 23. Wie kann ich nach einem zweiten Muster in vi suchen, ohne das erste Suchmuster zu löschen?
- 24. String in einer gezippten Datei in einem Ordner finden
- 25. Wie kann ich nach bestimmten Sätzen in einem Text in R suchen?
- 26. Wie Zeilen in Textdatei nach einer zweiten Textdatei zu sortieren
- 27. Verwenden Sie den Befehl find, um nach allen Dateien zu suchen, die ein Textmuster haben
- 28. Wie kann ich nach erkannten Zeichen in RavenDb suchen
- 29. Suchen nach einem String in einem Array
- 30. Wie kann man in einem UIWebView suchen
Und nur zur Verdeutlichung sucht es in "normalen" Zip-Dateien, sowie 'Gzip'-Dateien. – Nate
@Nate Nicht ganz richtig. Es wird gzip verwenden, das Probleme mit 'normalen' Zip-Dateien haben kann, was dazu führt, dass nur die erste gezippte Datei im Archiv entpackt wird. – dstibbe