13.03.2014, 09:52

Frank-Michael Schlede, Thomas Bär

Windows-Workshop

In der Powershell mit regulären Ausdrücken arbeiten

Workshop: In der PowerShell mit regulären Ausdrücken arbeiten

Sie werden von fast allen Programmier- und Script-Sprachen unterstützt und haben sicher schon so manchen Einsteiger zur Verzweiflung getrieben: die regulären Ausdrücke. Als Hilfsmittel für Admins sind sie indes durchaus bewährt. Wir zeigen Ihnen, wie sie unter modernen Windows-Systemen in der PowerShell eingesetzt werden können.
Nicht nur Einsteiger in Programmier- und Script-Sprachen, sondern auch viele "gestandene Administratoren" schütteln nur verzweifelt den Kopf, wenn die Rede auf die regulären Ausdrücke kommt. Zu verwirrend scheinen die Hieroglyphen, die schon altgediente Unix-Administratoren einsetzten, um ihren Anwendern zu demonstrieren, wie mächtig das berüchtigte grep-Kommando sein kann - wenn es richtig einsetzt wird. Aber nicht nur bei den Unix-/Linux-Shell-Programmen, sondern auch bei der modernen PowerShell, die fester Bestandteil aller aktuellen Windows-Client- und Server-Betriebssysteme ist, kann mit den regulären Ausdrücken effizient gearbeitet werden. Die PowerShell unterstützt dabei den gesamten Umfang der regulären Ausdrücke, der vom .NET-Framework bereitgestellt wird.
Wir erläutern in diesem Beitrag die Grundlagen und zeigen anhand einer ganzen Reihe von Beispielen, dass diese kryptischen Zeichen sehr gut in der Praxis eingesetzt werden können.

Das Arbeitsfeld der regulären Ausdrücke: Vergleichen und Ersetzen

Die regulären Ausdrücke kommen hauptsächlich dann zum Einsatz, wenn es darum geht, Vergleiche durchzuführen oder etwa auch Werte und Zeichen zu ersetzen. Neben den Operatoren zum direkten Vergleich von Werten wie "-eq" (equal) oder -gt (greater than) gehören der sogenannte Ähnlichkeitsoperator "-like" (und "-unlike") sowie der Ersetzungsoperator "-replace" und die Übereinstimmungsoperatoren "-match" und "-unmatch" zur Kategorie der Vergleichsoperatoren.
Von ihnen können sowohl "-replace" als auch "-match" und "-unmatch" mit den regulären Zeichen umgehen, während der "-like"-Operator nur mit dem Wildcard-Zeichen "*" zusammenarbeitet, das für eine beliebige Anzahl von Zeichen steht. So bringen dann auch die folgenden beiden Aufrufe die genau gleiche Ausgabe auf den Bildschirm:
Get-Service | where {$_.status -like "running"}
Get-Service | where {$_.status -match "running"}
Beide Aufrufe zeigen alle auf dem jeweiligen System aktiven (running) Prozesse an. Der Unterschied liegt darin, dass die Vergleiche beim Einsatz von "-match" und den regulären Zeichen weitaus genauer und zielgerichteter durchgeführt werden können. Ein Hinweis ist in diesem Zusammenhang noch wichtig: Diese Art der Abfrage ist nicht Case-Sensitive - das bedeutet, dass hierbei nicht zwischen Groß- und Kleinschreibung unterschieden wird und beide Aufrufe sowohl Prozesse finden, die als "running" gekennzeichnet sind, als auch solche, die beispielsweise als "Running" ausgegeben werden.
Lesen Sie auf der nächsten Seite:
Vorherige Seite
Seite 1 von 6
Diskutieren Sie mit anderen Lesern über dieses Thema:
Windows 8: Alle Informationen
Windows 8
Alle Details

Alle Informationen und Updates zum neuen Betriebssystem Windows 8 von Microsoft. mehr

- Anzeige -
PC-WELT Specials
Angebote für PC-WELT-Leser
PC-WELT Onlinevideothek

PC-WELT Online-Videothek
Keine Abogebühren oder unnötige Vertragsbindungen. Filme und Games bequem von zu Hause aus leihen.

Tarifrechner
Der PC-WELT Preisvergleich für DSL, Strom und Gas. Hier können Sie Tarife vergleichen und bequem viel Geld sparen.

PC-WELT Sparberater
Das Addon unterstützt Sie beim Geld sparen, indem es die besten Angebote automatisch während des Surfens sucht.

- Anzeige -
Marktplatz

Amazon Preishits
jetzt die Schnäpchen bei den Elektronikartikel ansehen! > mehr

1670168
Content Management by InterRed