Findstr: przykłady i wskazówki dotyczące korzystania z tego poręcznego narzędzia CMD dla systemu Windows

Dla niewtajemniczonych narzędzie do wyszukiwania wzorców, takie jak findstr, może wydawać się bezużyteczne. Ale gdy masz do czynienia z generowanymi przez system plikami dziennika lub danymi wyjściowymi wiersza poleceń zawierającymi setki wierszy tekstu, findstr jest właśnie narzędziem, którego potrzebujesz.

Użytkownicy systemu operacyjnego Linux byli już zaznajomieni z niewiarygodną użytecznością polecenia Grep , a findstr spełnia podobną rolę w systemie Microsoft Windows(Microsoft Windows) . Możesz połączyć go z innymi poleceniami(other commands) za pomocą potoków lub po prostu uruchomić go bezpośrednio, aby przeanalizować wiele plików tekstowych. Przyjrzyjmy się, jak działa findstr na kilku przykładach.

Korzystanie z polecenia Findstr

Podstawowa składnia jest prosta – findstr , gdziejest wzorcem do wyszukania ito adres pliku do przeszukania. Otwórz Wiersz Poleceń(Command Prompt) i spróbuj.

findstr SFC przykład1.txt(findstr SFC example1.txt )

To polecenie odnajdzie i wypisze wszystkie wiersze zawierające szukany ciąg SFC . Zauważ, że domyślnie findstr rozróżnia wielkość liter, więc wszelkie wzmianki o SFC nie zostaną dopasowane.

Parametry

Możesz dodatkowo dostosować sposób działania findstr, dołączając parametry opcjonalne. Przełączniki takie jak /B lub /I modyfikują zachowanie findstr, nakładając dodatkowe warunki na wyszukiwanie. Na przykład:

findstr /I SFC example1.txt

Dołączenie /I jako parametru powoduje, że wielkość liter wyszukiwania jest niewrażliwa, co umożliwia dopasowanie wszystkich wzmianek o tym terminie, niezależnie od ich wielkości liter. Listę wszystkich parametrów findstr można znaleźć w oficjalnych dokumentach Microsoft(official Microsoft docs) .

Opcjonalne wzory

Parametry nie są jedynym sposobem dostosowania findstr. Ujęcie <string> w cudzysłowie pozwala na przykład na określenie wielu wzorców, dając dopasowanie, jeśli którykolwiek z ciągów tekstowych zostanie znaleziony.

findstr „SFC DISM” przykład1.txt(findstr “SFC DISM” example1.txt )

Powyższe zwróci pasujące wiersze zawierające którykolwiek z terminów. To sprawia, że ​​jest to przydatne, gdy szukasz wzmianki o przedmiocie o różnych nazwach.

Wyrażenia regularne

Findstr może przeszukiwać wiele plików. Wymiana pieniędzydo wyrażenia regularnego powoduje, że polecenie szuka określonego wzorca we wszystkich pasujących plikach.

findstr SFC *.txt

Użycie znaku wieloznacznego dopasowuje wyrażenie regularne do wszystkich plików tekstowych w bieżącym katalogu i jego podkatalogach. Wyniki są również segregowane według nazw plików, co pozwala zobaczyć, która linia pochodzi z którego pliku.

Rury

Podobnie jak większość poleceń cmd, findstr może być również używany na wyjściu innych poleceń. Po prostu(Just) dodaj potok po zakończeniu polecenia docelowego i wywołaj findstr bez znaku.

dir | findstr .txt

Spowoduje to uruchomienie wyszukiwania findstr na wyjściu polecenia dir, zwracając listę plików kończącą się na .txt . Oczywiście ten konkretny przykład jest bezużyteczny w praktyce, ponieważ dir może już lokalizować pliki tego samego typu za pomocą wyrażenia regularnego.

Można też obrać dłuższą drogę przekierowania wyjścia do pliku tekstowego,(redirecting the output to a text file) a następnie użyć findstr na pliku tekstowym, ale łatwiej jest wyciąć pośrednika.

Aplikacje Findstr w systemie Windows

Oczywiste zastosowania findstr wynikają z samej składni. Możesz wyszukać pliki tekstowe z określonym ciągiem tekstowym lub sprawdzić, czy określony ciąg jest zawarty w pliku.

To, choć teoretycznie przydatne, rzadko znajduje zastosowanie poza rzadkimi przypadkami. W dobie usług w chmurze, takich jak Dokumenty Google(Google Docs) , większość ludzi nie ma już wielu plików tekstowych.

Rzeczywiste zastosowania findstr są nieco bardziej subtelne i dają mocniejsze wyniki. Oto kilka ciekawszych przykładów.

Znajdowanie określonych typów plików

Polecenie dir zawiera już opcję wyszukiwania nazw plików za pomocą wyrażeń regularnych. Ale za pomocą findstr można wyszukiwać pliki, które mają inne atrybuty, takie jak godzina lub data utworzenia.

Załóżmy(Suppose) , że o godzinie 18:43 wystąpił błąd i chcesz zlokalizować wszystkie pliki dziennika utworzone w tym czasie. Za pomocą samego polecenia dir będziesz musiał ręcznie przesiać wyniki lub pobrać wszystkie pliki dziennika i porównać je. Używając findstr, staje się to prostym poleceniem.

dir | findstr 06:43

Możesz spróbować tej samej sztuczki, aby znaleźć pliki utworzone w określonym dniu lub uzyskać listę katalogów.

dir | findstr DIR

Filtrowanie informacji o sieci(Network Information) za pomocą Netstat

Netstat to przydatne polecenie systemu Windows(Windows) , które udostępnia wszystkie informacje o połączeniach sieciowych komputera — za dużo informacji, i tu pojawia się findstr.

Przesyłanie danych wyjściowych netstat do findstr umożliwia wyszukiwanie połączeń o określonych właściwościach. Na przykład w ten sposób można uzyskać listę wszystkich nawiązanych połączeń.

netstat | findstr ESTABLISHED

Ta sztuczka jest przydatna podczas diagnozowania problemów z siecią. Możesz nawet użyć findstr z identyfikatorem PID(PID) aplikacji, aby znaleźć wszystkie połączenia otwarte przez określony proces.

netstat -o | findstr 13120

Uzyskiwanie określonych adresów IP

Polecenie ipconfig pozwala wyświetlić szczegóły wszystkich interfejsów sieciowych systemów, w tym adresy IP. Możesz użyć findstr, aby wyodrębnić określony typ adresu IP bez konieczności przewijania całości.

ipconfig | findstr Temporary

Możesz rozszerzyć tę metodę, aby uzyskać dowolne informacje z ipconfig, od masek podsieci po adresy bram.

Analizowanie plików skryptów

Bez względu na język programowania, w którym kodujesz, pliki skryptów są ostatecznie tylko tekstem. Oznacza to, że możesz użyć findstr do analizowania skryptów i pobierania określonych sekcji bez przeszukiwania całego kodu.

Powiedzmy(Say) , że chcemy zobaczyć, jak instrukcja if została użyta w konkretnym skrypcie. Możemy użyć następującego polecenia:

findstr if script.ahk

Spowoduje to nie tylko wyświetlenie linii za pomocą instrukcji if, ale także pokaże nam użyte wyrażenia. Możesz również dołączyć parametr /N, aby wyświetlić numery wierszy, co jest bardzo przydatne w przypadku plików skryptowych.

findstr /N if script.ahk

Czy warto korzystać z Findstr?

Główną trudnością w poruszaniu się po interfejsie wiersza poleceń jest ilość tekstu, który trzeba przesiać. Findstr jest niezbędnym narzędziem do wydobywania przydatnych informacji i filtrowania śmieci.

Ponieważ wszystkie polecenia terminala dają wynik tekstowy, findstr zawsze może być użyty do zlokalizowania odpowiednich danych. Od rozwiązywania problemów(troubleshooting network issues) z siecią po znajdowanie właściwych plików, każde działanie jest wydajniejsze dzięki findstr.

Nawet poza jego synergią z innymi poleceniami findstr jest pomocny ze względu na jego zdolność do przeglądania zawartości plików tekstowych. Możesz znaleźć określone błędy w plikach dziennika generowanych maszynowo lub pobrać sekcje kodu w złożonym skrypcie.

Krótko mówiąc, findstr jest niezastąpionym narzędziem w arsenale każdego zaawansowanego użytkownika systemu Windows(Windows) , zwłaszcza takiego, który zamierza zapoznać się z interfejsem wiersza poleceń.



About the author

Jestem inżynierem oprogramowania i ekspertem od Windows 10. Mam ponad dwuletnie doświadczenie w pracy ze smartfonami, Windows 10 i Microsoft Edge. Moim głównym celem jest sprawienie, aby Twoje urządzenia działały lepiej i szybciej. Pracowałem przy różnych projektach dla firm takich jak Verizon, IMac, HP, Comcast i wielu innych. Jestem również certyfikowanym instruktorem szkoleń w chmurze Microsoft Azure.



Related posts