PowerShell Select-String-CMDLet

PowerShell Select-String-CMDLet
Die Select-String ist ein von PowerShell unterstütztes CMDLet, um einen Text/Muster in einer Zeichenfolge auszuwählen. Die Select-String wird auch als Grep-Äquivalent bezeichnet, wobei Grep ein auf UNIX-basierter Befehl ist, um nach Mustern zu suchen. Mit diesem Befehl können Sie alle verfügbaren Übereinstimmungen durchsuchen oder auch eine Grenze der Übereinstimmungen mit der Liste der von IT unterstützten Parameter hinzufügen.

Dieser Beitrag zielt darauf ab, die primäre und fortgeschrittene Verwendung des PowerShell-Select-String-CMDLet zu untersuchen.

So verwenden Sie PowerShell Select-String-CMDLet

In PowerShell kann das Select-String-CMDLet verwendet werden, um nach einem einzelnen Muster oder mehreren Mustern in der Datei oder String zu suchen. Die folgende Syntax wird verwendet, um das Select-String-CMDLET zu verweisen:

Auswahl

Die folgenden Parameter können mit dem Select-String-CMDLet verwendet werden:

  • Muster: Identifiziert den in der Datei ausgewählten Text.
  • Weg: Bezieht sich auf den Pfad der Datei.
  • Fallsensitiv: Wird verwendet, um die Begriffe zu entsprechen, indem der Buchstabenfall übereinstimmt.
  • Nicht übereinstimmen: Verwendet, um das Ergebnis zu erhalten, das nicht das angegebene Text \ Muster enthält.
  • Allmatches: Gibt an, mehr als eine Übereinstimmung in jeder Zeile der Datei zu finden.

Beispiel 1: Um das spezifische Muster (Text) in einer Datei auszuwählen

Der Beispielcode ist wie folgt, um das Muster auszuwählen (i.e., Text/Zeichenfolge) in der “Sample100.CSV" Datei. Erstens der absolute Weg des "Sample100.CSV”Wird nach dem" gegeben "-WegParameter. Danach das Muster “Markieren"Wird unter Verwendung des Parameters eingestellt"-Muster”:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" Mark "

Das Muster war "Markieren"Und es wird beobachtet, dass die Select-String die Linie (zusammen mit der Zeilennummer), die die" enthält "gedruckt hatMarkieren" drin.

Beispiel 2: Auswählen der Mehrere Muster (Text) in einer Datei

Sie können mehrere Muster in der Datei auswählen oder finden. Dazu wird der zu suchen, der gesucht werden soll, nach dem „“-MusterParameter. Der folgende Befehl sucht nach dem “Markieren" Und "Peter"Schlüsselwörter im"Probe.CSV" Datei:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "

Wie Sie sehen können, werden diese Zeilen gedruckt, die entweder Mark oder Peter enthalten.

Beispiel 3: Um nur begrenzte Datensätze von bestimmten Mustern (Text) in einer Datei auszuwählen

Das Select-String-CMDLet kann verwendet werden, um nach dem spezifischen Muster in einer Datei zu suchen, aber nur die begrenzte Anzahl von Instanzen würde durchsucht werden. In dem Beispiel für das Verschluss, das “.CSV"Die Datei wird für das Muster gefiltert"Markieren”. Die Grenze ist jedoch auf 2 Verwendung der "-ErsteParameter:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" marke "| | Select -Object * -First 2

In der obigen Ausgabe die ersten beiden Ereignisse der “MarkierenSchlüsselwort werden am PowerShell -Terminal angezeigt.

Beispiel 4: So wählen Sie die Muster in angegebenen Spalten aus

Das Select-String-CMDLet kann mit dem Auswahl-Objekt verwendet werden, um das Muster zu übereinstimmen und bestimmte Eigenschaften der Zeile mit diesen Mustern zurückzugeben. Zu diesem Zweck wird die Musteranpassung im SELECT-String-CMDLet angegeben, und die Filter werden im Auswahl-Objekt angewendet.

In unserem Fall übt der folgende Beispielbefehl die “aus“Auswahl"Cmdlet, um Muster zu entsprechen"Peter" oder "Philin einem CSV -Datei. Dieser Befehl aus Select-String wird dann mit dem geleitet Select-Object cmdlet, um das zu bekommen Leinenumberum, Muster, Dateiname, Und Linie Das enthält die Muster Peter oder Phil:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" Peter "," Phil "| Select -Object Leinenumberum, Muster, Dateiname, Zeile

Aus der Ausgabe wird beobachtet.

Beispiel 5: Auswahl der Muster „Fallempfindlicher“ (Text) in einer Datei auszuwählen

Sie können ein Muster mit “übereinstimmen“-FallsensitivParameter, um auch den Brieffall zu berücksichtigen. Der Beispielbefehl sucht nach den Zeilen, die enthalten “PETER”:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" Peter "-CaseSemsitiv

Wie Sie sehen können, werden nur drei Datensätze gedruckt, die das Schlüsselwort Peter enthalten.

Beispiel 6: Um die unerreichten Muster (Text) in einer Datei auszuwählen

Mit Hilfe der “-Nicht übereinstimmenParameter können wir nur die Datensätze auswählen, die nicht mit den spezifischen Schlüsselwörtern übereinstimmen. Im folgenden Beispiel haben wir zwei Muster angegeben ("Markieren" Und "Peter") im Parameter -notmatch:

SELECT -STRING -PATH "C: \ Benutzer \ PowerShell \ Dokumente \ Sample \ Sample100.CSV "-Pattern" Mark "," Peter "-notmatch

Wie in den obigen Datensätzen zu sehen ist, wird der auf der Konsole gedruckte Datensatz nicht enthält "Markieren" noch "Peter”.

Abschluss

In PowerShell wird das PowerShell-Select-String-CMDLet verwendet, um den angegebenen Text/Muster in der Datei zu finden. Die Verwendung des Befehls ausgewählten String kann durch die Verwendung verschiedener Parameter (-notmatch, -caseSemotive) und Eigenschaften (Dateiname, Zeile, Muster) verbessert werden. Darüber hinaus können Sie die Verwendung des Select-String-CMDLET erweitern, indem Sie es mit Select-Object verwenden. Sie haben die Arbeit des Select-String-CMDLET und seiner Anwendungsfälle in verschiedenen Szenarien gelernt.