grep-Ersatz in der Powershell

22. August.2024 Lesezeit: ~1 Minute
PS C:\Daten\> ls

    Verzeichnis: C:\Daten\

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        26.07.2024     10:00           5730 test.xml
-a----        26.07.2024     10:00            463 test-file2.xml
-a----        26.07.2024     10:00            323 testcase.xml
...

Es kommt häufig vor, dass ich unter Windows nach bestimmten Suchbegriffen in einem Verzeichnis mit XML-Dateien suche, in denen diese Begriffe als Key-Value-Paare hinterlegt sind. Während dies unter Linux mit dem Befehl grep problemlos möglich ist, gestaltet sich die Suche unter Windows etwas komplizierter. Glücklicherweise bietet PowerShell eine effektive Lösung für dieses Problem.

PS C:\Daten\> Select-String -Path *.xml -Pattern "HelloWorld!"
# Ausgabe
test.xml:1:  <global name="HelloWorld!">
test-file2.xml:1: <global name="HelloWorld!">