Ich suche die PowerShell-Entsprechung zu grep --file=filename
. Wenn Sie nicht wissen grep
, ist Dateiname eine Textdatei, in der jede Zeile ein Muster für reguläre Ausdrücke enthält, mit dem Sie übereinstimmen möchten.
Vielleicht fehlt mir etwas Offensichtliches, aber ich Select-String
habe diese Option anscheinend nicht.
powershell
grep
Fordio
quelle
quelle
quelle
findstr
untergrep
Linux am besten funktioniert.Select-String
eignet sich hervorragend für die Arbeit mit Objekten, aber manchmal möchten Sie nur mit Zeichenfolgen übereinstimmen.findstr
nicht in PowerShell, sondern in der Eingabeaufforderung enthalten ist.Ich bin nicht mit grep vertraut, aber mit Select-String können Sie Folgendes tun:
Sie können dies auch mit Get-Content tun:
quelle
dir *.cs -Recurse | sls "TODO" | select -Unique "Path"
. Danke für den hervorragenden Zeiger.Daher habe ich unter diesem Link eine ziemlich gute Antwort gefunden: https://www.thomasmaurer.ch/2011/03/powershell-search-for-string-or-grep-for-powershell/
Aber im Wesentlichen ist es:
Dies bietet eine Verzeichnisdateisuche (* oder Sie können einfach eine Datei angeben) und eine Dateiinhaltssuche in einer Zeile von PowerShell, ähnlich wie grep. Die Ausgabe ist ähnlich wie:
quelle
Diese Frage hat bereits eine Antwort, aber ich möchte nur hinzufügen, dass es in Windows Windows Subsystem für Linux WSL gibt .
Wenn Sie beispielsweise überprüfen möchten, ob der Dienst Elasicsearch im Status ausgeführt wird , können Sie so etwas wie das folgende Snippet in Powershell ausführen
net start | grep Elasticsearch
quelle
Ich hatte das gleiche Problem beim Versuch, Text in Dateien mit Powershell zu finden. Ich habe Folgendes verwendet, um so nah wie möglich an der Linux-Umgebung zu bleiben.
Hoffentlich hilft das jemandem:
Power Shell:
Erläuterung:
Ja, das funktioniert auch:
quelle
Richtig. PowerShell ist kein Klon des Toolset * nix shells.
Es ist jedoch nicht schwer, so etwas selbst zu bauen:
quelle
Select-String -Pattern somestring
ist viel saubererVielleicht?
quelle