Standardmäßig Out-String
erzeugen Sie ein einzelnes Zeichenkettenobjekt, das die gesamte Ausgabe enthält. Mit dem folgenden Filter werden alle Ausgaben als Ganzes ausgewählt oder verworfen. Sie müssen den -Stream
Parameter des Out-String
Cmdlets verwenden, um für jede Ausgabezeile ein separates Zeichenfolgenobjekt zu erstellen.
filtern Sie die Ausgänge mithilfe von Auswahlstrings
Wenn ich in bash folgendes mache, bekomme ich alle Umgebungsvariablen mit wd
.
env | grep "wd"
Jetzt in Powershell weiß ich, dass ich es könnte
get-childitem env:wd*
Aber ich möchte als generischeren Ansatz an select-string pfeifen, um zu filtern, was von seiner Pipe kommt, egal was sich links von der Pipe befindet. Genau wie bei grep.
Das filtert nichts, ich bekomme alle Umgebungsvariablen.
get-childitem env: | out-string | select-string -Pattern wd
Und das bringt mir nichts:
get-childitem env: | select-string -Pattern "wd"
Ich weiß, dass ich Folgendes verwenden könnte, und es ist tatsächlich eine bessere Übereinstimmung, wenn ich nur nach dem Namen der Umgebungsvariablen filtern würde. Aber was ist, wenn ich einen schnellen und schmutzigen Filter a la grep möchte? Und vor allem, ohne zu wissen, was aus der Leitung kommt.
get-childitem env: | where-object {$_.Name -like "wd*"}
Dh gibt es ein Powershelll-Äquivalent zu grep, das in einem Pipe-Kontext verwendet werden kann, nicht nur im Zusammenhang mit Dateisuchen, was gut zu sein select-string
scheint.
1 Antwort auf die Frage
Verwandte Probleme
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
5
Deaktivieren des Pieptons im cmd-Fenster
-
3
Powershell-Ping auf unbestimmte Zeit
-
5
Tastenkombination zum Einfügen in die Windows-Eingabeaufforderung
-
5
Welche Vorteile könnte ein durchschnittlicher Geek aus Powershell ziehen?
-
1
Powershell: Führt eine Operation für alle Dateien in einem Verzeichnis durch (foreach)
-
1
PowerShell / CMD-Markierung, um in Vista mit der rechten Maustaste zu klicken
-
3
Was ist Windows PowerShell?
-
5
Wie macht man ein Powershell (oder ein anderes) Skript, um die Bildschirmauflösung zu ändern?
-
5
Rufen Sie den aktuellen UNC-Pfad von einem lokalen Pfad in Powershell ab