Rekursiv suchen von text in Dateien (PowerShell)
Ich möchte alle Dateien finden, die in einem bestimmten Verzeichnis mit einem bestimmten string. Speziell möchte ich finden, der Wagenrücklauf (\r) und dann manuell gehen Sie durch die Dateien, und entfernen Sie vorkommen. Ich will nicht, PowerShell, um Sie zu entfernen, da es möglicherweise bestimmte Unterverzeichnisse, die Sie benötigen in meine Verzeichnis Struktur.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage scheint einkochen: ich möchte alle Dateien finden, die in einem Verzeichnis enthalten, das carriage return. Gibt es einen Grund, warum diese Antworten sind nicht ausreichend?
Beispiel:
Diese sollten geben Sie den Speicherort der Dateien mit den Muster:
Könnten Sie
Select-String
Muster zu finden, die in einer Gruppe von Dateien, aber nur die Suche für das Muster in jeder Zeile des Textes. Es wird nicht in Ihrem Fall, weil Sie möchten, suchen Sie nach der Zeile Trennzeichen.Ein einfacher Weg ist die Verwendung
Get-Content
, das konvertieren einer Datei in ein array von strings, ein Element pro Zeile. Daher wird jede Datei, die hat ein return und ein line feed wird ein array mit mehr als einem Element. Probieren Sie etwas wie dieses:Wenn Ihre Dateien sehr groß und Sie möchten es zu beschleunigen, dann fügen Sie ein
-TotalCount
wie diese:Diese nur finden, wo das return und line feed zusammen sind, wenn Sie wollen Instanzen, wo Sie auftreten könnten, auf Ihre eigenen, dann werden Sie brauchen, um Kraft
Get-Conent
nicht Lesen die Datei in ein array von string, sondern eine große Zeichenfolge statt. So etwas wie dieses: