Szukam odpowiednika programu PowerShell grep --file=filename
. Jeśli nie wiesz grep
, nazwa pliku to plik tekstowy, w którym każda linia zawiera wzorzec wyrażenia regularnego, który chcesz dopasować.
Może brakuje mi czegoś oczywistego, ale Select-String
wydaje się, że nie ma takiej opcji.
powershell
grep
Fordio
źródło
źródło
źródło
findstr
działa najbardziej tak, jak działagrep
w systemie Linux.Select-String
jest świetny do pracy z obiektami, ale czasami chcesz po prostu dopasować łańcuchy.findstr
nie jest to natywne oprogramowanie PowerShell, ale wiersz polecenia.Nie znam grepa, ale z Select-String możesz zrobić:
Możesz to również zrobić za pomocą Get-Content:
źródło
dir *.cs -Recurse | sls "TODO" | select -Unique "Path"
. Dzięki za świetny wskaźnik.Więc znalazłem całkiem dobrą odpowiedź pod tym linkiem: https://www.thomasmaurer.ch/2011/03/powershell-search-for-string-or-grep-for-powershell/
Ale zasadniczo jest to:
Daje to przeszukiwanie plików katalogu (* lub możesz po prostu określić plik) i przeszukiwanie zawartości pliku w jednym wierszu PowerShell, bardzo podobnym do grep. Wynik będzie podobny do:
źródło
To pytanie ma już odpowiedź, ale chcę tylko dodać, że w systemie Windows jest podsystem Windows dla Linux WSL .
Na przykład, jeśli chcesz sprawdzić, czy masz usługę o nazwie Elasicsearch, która ma status uruchomiony , możesz zrobić coś takiego jak poniższy fragment w programie PowerShell
net start | grep Elasticsearch
źródło
Miałem ten sam problem, próbując znaleźć tekst w plikach za pomocą PowerShell. Użyłem następującego - aby pozostać jak najbliżej środowiska Linuksa.
Mam nadzieję, że to komuś pomoże:
PowerShell:
Wyjaśnienie:
Tak, to też działa:
źródło
Poprawny. PowerShell nie jest jest klonem zestawu narzędzi powłoki * nix.
Jednak nie jest trudno samemu zbudować coś takiego:
źródło
Select-String -Pattern somestring
jest znacznie czystszyMoże?
źródło