polecenie Findstr w systemie Windows jest przydatne do wyszukiwania określonego wzorca tekstowego w plikach. Jego funkcjonalność jest podobna do polecenia grep w systemie Linux. Poniżej znajduje się składnia 'findstr' dla różnych przypadków użycia.
wyszukaj tekst/ciąg w pliku:
findstr pattern filename
na przykład, aby wyszukać ciąg 'Windows' w pliku tekstowym CLItips.txt, komenda będzie jak poniżej.
findstr Windows CLItips.txt
zauważ, że powyższe polecenie szuka dokładnie 'Windows'., Domyślnie rozpatruje przypadek. Jeśli więc masz linię ze słowem „windows”, nie zostanie ona wydrukowana w wyniku powyższego polecenia.
Ignoruj wielkość liter:
możesz dodać / I switch, aby zignorować wielkość liter w wyszukiwaniu. Więc jeśli uruchomisz ' findstr windows / I CLItips.txt', nie rozróżnia wielkości liter.
wyszukaj dowolne z podanych słów
Jeśli chcesz wydrukować wiersze zawierające dowolne z podanych słów, możesz załączyć listę słów w podwójnych cudzysłowach w poleceniu findstr.,
findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt
To polecenie wyświetli linię, jeśli ma słowo „Apple” lub słowo „Orange” lub oba słowa.
wyszukaj wzór za pomocą wielu słów
findstr /C:"word1 word2 word3..." filename
/ c wskazuje, że wzór wyszukiwania musi być dopasowany dosłownie.
na przykład, aby wyszukać ciąg znaków „Apple Ball Cat” w książce plików.txt, polecenie byłoby jak poniżej
findstr /C:"Apple Ball Cat" Book.txt
Szukaj z wyrażeniami regularnymi
możesz używać wyrażeń regularnych z przełącznikiem findstr /R. Typowe polecenie byłoby jak poniżej.,
findstr /R pattern filename.txt
tutaj wzór może być określony za pomocą wyrażeń regularnych.
przykłady:
wyszukaj występowanie w pliku wszystkich słów kończących się na 'xyz'.
findstr /R *xyz filename.txt
wyszukaj tekst we wszystkich plikach w bieżącym katalogu
Możesz użyć symboli wieloznacznych’*”, aby określić, że wszystkie pliki w katalogu powinny być przeszukiwane pod kątem podanego ciągu znaków.
na przykład, aby wyszukać „windows” we wszystkich plikach w bieżącym katalogu, możesz użyć poniższego polecenia.,
findstr /I windows *
aby przeszukać wszystkie pliki tekstowe w katalogu C:\data:
findstr /I windows C:\data\*.txt
wyszukaj wiele ciągów
Jeśli chcesz wyszukać wiele ciągów, możesz to zrobić za pomocą poniższego skryptu wsadowego.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
'wzór.txt ' jest plikiem zawierającym ciągi znaków (po jednym na linię), które należy przeszukiwać. Powyższe polecenie przeszukuje tylko pliki tekstowe. Możesz dostosować polecenie findstr w skrypcie, aby wyszukiwać pliki z innymi rozszerzeniami. Dodanie opcji '/ M' do polecenia powoduje wypisanie tylko nazw plików.,
wypisuje tylko linie, w których podany łańcuch jest na początku linii.
możesz dodać /B switch, aby wskazać, że podany łańcuch powinien znajdować się na początku linii.
findstr /B /C:windows CLItips.txt
wypisuje tylko linie, w których podany łańcuch jest na końcu linii
findstr /E /C:windows CLItips.txt
wypisuje numery linii dla wszystkich dopasowanych linii.
możesz dodać /n switch do polecenia findstr, aby wydrukować numery linii dla dopasowanych linii.
wypisuje tylko nazwy plików
finstr /M /C:"pattern" *.log
ta komenda wyszukuje wzorzec w all *.,pliki dziennika, a następnie wypisuje tylko nazwy plików o wzorze. Nawet jeśli plik ma wiele wystąpień wzorca, jest on drukowany tylko raz przez findstr.