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
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
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
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ń.
.