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. Jednak w przypadku plików dziennika generowanych przez system lub danych wyjściowych wiersza poleceń zawierających setki wierszy tekstu narzędzie findstr jest właśnie tym, czego potrzebujesz.

Użytkownicy systemu operacyjnego Linux znają już niesamowitą użyteczność polecenia Grep, a findstr spełnia podobną rolę w systemie Microsoft Windows. Możesz połączyć go z inne polecenia 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 <ścieżka pliku>, gdzie to wzorzec do wyszukania, a to adres pliku do przeszukania. Otwórz Wiersz Poleceń i spróbuj .

findstr SFC przykład1.txt

To polecenie znajdzie i wyświetli wszystkie linie zawierające wyszukiwany ciąg SFC. Pamiętaj, że domyślnie w findstr rozróżniana jest 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, narzucając dodatkowe warunki wyszukiwania. Na przykład:

findstr /I SFC przykład1.txt

Dołączenie parametru /I sprawia, że ​​wielkość liter w wyszukiwaniu nie jest uwzględniana, co pozwala na dopasowanie wszystkich wzmianek o danym terminie, niezależnie od wielkości liter. Listę wszystkich parametrów findstr znajdziesz w oficjalna dokumentacja Microsoftu.

Wzory opcjonalne

Parametry nie są jedynym sposobem dostosowywania findstr. Na przykład umieszczenie w cudzysłowie pozwala określić wiele wzorców, co daje dopasowanie, jeśli zostanie znaleziony którykolwiek z ciągów tekstowych.

findstr „SFC DISM” przykład1.txt

Powyższe zwróci pasujące linie zawierające którykolwiek z terminów. Dzięki temu jest to przydatne, gdy szukasz wzmianki o przedmiocie o różnych nazwach.

Wyrażenia regularne

Findstr może przeszukiwać wiele plików. Zmiana na wyrażenie regularne 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 jakiego pliku.

Rury

Podobnie jak większość poleceń cmd, findstr można również użyć na wyjściu innych poleceń. Po prostu dodaj potok na końcu polecenia docelowego i wywołaj findstr bez .

reż. | findstr .txt

To powoduje uruchomienie wyszukiwania findstr na wynikach polecenia dir i zwrócenie listy plików kończącej 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 także wybrać dłuższą trasę przekierowanie wyjścia do pliku tekstowego, a następnie użyć findstr w pliku tekstowym, ale łatwiej jest zrezygnować z pośrednika.

Zastosowania Findstr w systemie Windows

Oczywiste zastosowania findstr są łatwo widoczne na podstawie samej składni. Możesz wyszukiwać pliki tekstowe zawierające określony ciąg tekstowy lub sprawdzać, czy dany ciąg znajduje się w pliku.

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

Rzeczywiste zastosowania findstr są nieco bardziej subtelne i zapewniają bardziej zaawansowane 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żesz wyszukiwać pliki mające inne atrybuty, takie jak godzina lub data utworzenia.

Załóżmy, ż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.

reż. | findstr 06:43

Możesz wypróbować tę samą sztuczkę, aby znaleźć pliki utworzone określonego dnia lub uzyskać listę katalogów.

reż. | findstr DIR

Filtrowanie informacji sieciowych za pomocą Netstat.

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

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

netstat | findstr USTANOWIONO

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

netstat -o | findstr 13120

Uzyskiwanie określonych adresów IP

Polecenie ipconfig umożliwia przeglądanie szczegółów wszystkich interfejsów sieciowych systemów, w tym adresów IP. Możesz użyć findstr, aby wyodrębnić określony typ adresu IP bez konieczności przewijania całości.

ipconfig | findstr Tymczasowe

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

Analiza plików skryptów

Niezależnie od języka programowania, w którym kodujesz, pliki skryptów to ostatecznie tylko tekst. Oznacza to, że możesz używać findstr do analizowania skryptów i pobierania określonych sekcji bez przeszukiwania całego kodu.

Załóżmy, ż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

To nie tylko wyświetli linie zawierające instrukcję if, ale także pokaże nam użyte wyrażenia. Możesz także dołączyć parametr /N, aby wyświetlić numery linii, co jest bardzo przydatne w przypadku plików skryptów.

findstr /N if script.ahk

Czy warto używać Findstr?

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

Ponieważ wszystkie polecenia terminala dają wynik tekstowy, do zlokalizowania odpowiednich danych zawsze można użyć funkcji findstr. Od rozwiązywanie problemów z siecią po znalezienie właściwych plików, każda akcja staje się wydajniejsza dzięki findstr..

Nawet poza synergią z innymi poleceniami findstr jest pomocny ze względu na możliwość 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.

W skrócie, findstr jest niezbędnym narzędziem w arsenale każdego zaawansowanego użytkownika systemu Windows, zwłaszcza takiego, który zamierza zapoznać się z interfejsem wiersza poleceń.

.

Powiązane posty:


27.09.2022