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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *