Czy słyszałeś kiedyś o FINDSTR i Select-String? Select-String to polecenie cmdlet służące do wyszukiwania tekstu i wzorców w ciągach wejściowych i plikach. Jest podobny do grep w systemie Linux i FINDSTR w systemie Windows. W tym przewodniku zobaczymy, co i jak używać poleceń FINDSTR i Select-String w systemie Windows 11/10.

 

Co to jest FINDSTR i jak używać FINDSTR

FINDSTR to polecenie używane do wyszukiwania określonego tekstu w plikach w systemie Windows. Find String po wstawieniu zmieniło się w FINDSTR. Służy również do wyszukiwania plików z określonym tekstem. Istnieją różne polecenia FINDSTR, które wykonują różne funkcje. Został po raz pierwszy wydany z zestawem Windows 2000 Resource Kit pod nazwą qgrep. Jest to wbudowane narzędzie w systemie Windows, a jego plik jest dostępny w formacie.exe. FINDSTR nie przeszukuje bajtów null, takich jak spacje w formacie Unicode.

Istnieją pewne podstawowe zasady używania polecenia findstr w wierszu polecenia lub innych interpreterach wiersza poleceń, które zostały opracowane przez Microsoft. Są to:

Każde polecenie FINDSTR musi zawierać ciąg znaków, po którym następuje nazwa pliku. W poleceniach FINDSTR można używać znaków dosłownych i metaznaków. Znaki dosłowne nie mają w składni żadnego specjalnego znaczenia. Litery i cyfry nazywane są literami. Metaznaki to symbole, które mają określone znaczenie dla każdego z nich. Poniżej przedstawiono akceptowane metaznaki w składni i ich znaczenie.

Metaznak

Wartość

.

Wildcard – Dowolny znak

*

Powtórz – Zero lub więcej wystąpień poprzedniego znaku lub klasy.

^

Pozycja początkowa linii – Początek linii.

$

Pozycja końcowa linii – Koniec linii.

[klasa]

Klasa znaków – Dowolny jeden znak w zestawie.

[^klasa]

Klasa odwrotna – Dowolny jeden znak spoza zestawu.

[xy]

Zasięg – Dowolny znaków w określonym zakresie.

\x

Escape – dosłowne użycie metaznaku.

\

Początkowa pozycja słowa – Początek słowa.

string\>

Końcowa pozycja słowa – Koniec słowa.

Powinieneś utworzyć plik tekstowy z wyszukiwaniem c kryterium w osobnym wierszu, gdy chcesz wyszukać wiele ciągów.Użyj spacji między ciągami, aby wyszukać wiele ciągów w jednym poleceniu, z wyjątkiem składni z/c.

Parametry i ich znaczenie w składni findstr

Parametr

Opis

/b

Dopasowuje wzorzec tekstu, jeśli znajduje się na początku wiersza.

/e

Dopasowuje wzorzec tekstu, jeśli znajduje się on na końcu wiersza.

/l

Dosłownie przetwarza ciągi wyszukiwania.

/r

Przetwarza ciągi wyszukiwania jako wyrażenia regularne. Jest to ustawienie domyślne.

/s

Przeszukuje bieżący katalog i wszystkie podkatalogi.

/i

Ignoruje wielkość liter znaków podczas wyszukiwania ciągu.

/x

Drukuje dokładnie pasujące wiersze.

/v

Drukuje tylko wiersze, które nie zawierają dopasowania.

/n

Drukuje numer każdego zgodnego wiersza.

/m

Drukuje tylko nazwę pliku, jeśli plik zawiera dopasowanie.

/o

Wypisuje przesunięcie znaków przed każdym pasującym wierszem.

/p

Pomija pliki ze znakami niedrukowalnymi.

/off[line]

Nie pomija plików, które mają ustawiony atrybut offline.

/f:

Pobiera listę plików z określonego pliku.

/c:

Używa określonego tekstu jako dosłownego ciągu wyszukiwania.

/g:

Pobiera ciągi wyszukiwania z określonego pliku.

/d:

Przeszukuje określoną listę katalogów. Każdy katalog musi być oddzielony średnikiem (;), na przykład dir1;dir2;dir3.

/a:

Określa atrybuty koloru za pomocą dwóch cyfr szesnastkowych. Wpisz kolor
/? aby uzyskać dodatkowe informacje.

Określa tekst do wyszukania w nazwie pliku. Wymagane.

[\:][<ścieżka>][…]

Określa lokalizację i plik lub pliki do przeszukania. Wymagana jest co najmniej jedna nazwa pliku.

/?

Wyświetla pomoc w wierszu poleceń.

Użytkowanie poleceń findstr

1] Aby wyszukać słowo microsoft lub windows w pliku xy, należy użyć:

findstr microsoft windows xy

2] dla słowa microsoft windows w pliku xy należy użyć:

findstr/c:”microsoft windows”xy

W powyższym poleceniu/c służy do wyszukiwania określonego tekstu „microsoft windows” w pliku.

3] Jeśli chcesz znaleźć wystąpienia słowa Microsoft z dużą literą M w pliku tekstowym twc.txt, powinieneś użyć:

findstr Microsoft twc.txt

4] Jeśli chcesz wyszukać określone słowo Microsoft w katalogu i jego podkatalogach bez przywiązywania wagi do wpisywania wielkości liter, użyj:

findstr/s/i Microsoft *.*

W powyższej składni/s służy do przeszukiwania bieżącego katalogu i jego podkatalogów./i służy do ignorowania wielkości liter (wielkie M) w ciągu Microsoft.

5] Jeśli chcesz znaleźć wiersze zaczynające się od To z wieloma spacjami przed słowem i chcesz wyświetlić numer wiersza, w którym pojawiły się ciągi, użyj:

findstr/b/n/r/c:^ *Do *.bas

6] Jeśli chcesz wyszukać wiele ciągów w wielu plikach z kryteria wyszukiwania w stringlist.txt i lista plików w filelist.txt i chcesz zobaczyć wyniki przechowywane w pliku result.out, użyj:

findstr/g:stringlist.txt/f:filelist.txt > results.out

7] Jeśli chcesz znaleźć pliki zawierające słowo thewindowsclub w określonym katalogu i jego podkatalogach, użyj:

findstr/s/i/m \ *.*

8] Jeśli chcesz znaleźć pliki zawierające thewindowsclub i inne słowa zaczynające się od takich jak teza, termometr itp., użyj:

findstr/s/i/m \

Są to sposoby używania poleceń findstr w interpreterach wiersza poleceń, takich jak wiersz poleceń itp. musisz zrozumieć każdy parametr i jego funkcję, a także metaznaki i ich znaczenie, aby pisać składnię i regularnie używać polecenia findstr.

Co to jest Select-String i jego parametry

Wyobraź sobie piszesz fragmenty kodu w PowerShell i zgubiłeś pewne ciągi i tekst w tym pliku PowerShell. Musisz to znaleźć w wielu tysiącach linijek kodu w tysiącach ciągów i słów. Pojawia się polecenie Select-String, które pozwala wyszukiwać ciągi i tekst w tych plikach wejściowych PowerShell. Jest podobny do grep w systemie Linux.

Select-String to polecenie cmdlet używane do wyszukiwania tekstu i wzorców w ciągach wejściowych i plikach. Jest podobny do grep w systemie Linux i FINDSTR w systemie Windows. W przypadku użycia Select-String do wyszukania tekstu, znajduje pierwsze dopasowanie w każdym wierszu i wyświetla nazwę pliku, numer wiersza oraz cały wiersz, w którym wystąpiło dopasowanie. Może być używany do wyszukiwania wielu dopasowań w wierszu lub wyświetlania tekstu przed lub po dopasowaniu lub uzyskiwania wyników w wyrażeniach logicznych, takich jak prawda lub fałsz. Możesz go również użyć do wyświetlenia całego tekstu z wyjątkiem dopasowania wyrażenia użytego w poleceniu. Symbole wieloznaczne, których używasz w FINDSTR, mogą być również używane w Select-String. Ponadto Select-String działa z różnymi kodowaniami plików, takimi jak ASCII, Unicode itp. Używa znaku kolejności bajtów (BOM) do określenia kodowania pliku. Jeśli w pliku brakuje BOM, Select-String przyjmie, że plik to UTF8.

Parametry Select-String

Microsoft przewidział i opracował poniższe parametry, które będą używane w składni.

-AllMatches

Służy do wyszukiwania wszystkich dopasowań w wierszu, w przeciwieństwie do pierwszego dopasowania w wierszu, który zwykle robi Select-Sting.

-CaseSensitive

Oznacza, że ​​dopasowanie uwzględnia wielkość liter. Domyślnie w Select-String nie jest rozróżniana wielkość liter.

-Kontekst

Służy do przechwytywania określonej liczby linii, które wpisujesz przed i po linii dopasowania. Jeśli wpiszesz 1, przechwyci jedną linię przed i po meczu.

-Kultura

Istnieją pewne kultury, takie jak liczba porządkowa, niezmienna itp. w kodowaniu. Ten parametr służy do określenia kultury w składni.

-Encoding

Służy do określenia formatu kodowania tekstu w plikach takich jak ASCII, UTF8, UTF7, Unicode, itp.

-Exclude

Ten parametr służy do wykluczenia określonego tekstu w pliku.

-Include

Ten parametr jest używany aby dołączyć określony tekst do pliku.

-InputObject

Służy do określenia tekstu do przeszukania.

-Lista

Służy do pobierania listy plików pasujących do tekstu.

-LiteralPath

Służy do określenia ścieżki wyszukiwania.

-NoEmphasis

Ogólnie rzecz biorąc, Select-String wyróżnia dopasowanie w pliku. Ten parametr służy do unikania wyróżniania.

-NotMatch

Służy do wyszukiwania tekstu, który nie pasuje do określonego wzorca.

-Ścieżka

Służy do określenia ścieżki do przeszukania wraz z użyciem symboli wieloznacznych.

-Wzór

Parametr służy do znalezienia dopasowania w każdym wierszu jako wzorzec.

-Quiet

Ten parametr służy do uzyskania danych wyjściowych w wartościach logicznych, takich jak True lub False.

-Raw

p>Służy do wyświetlania tylko pasujących obiektów, a nie informacji o dopasowaniu.

-SimpleMatch

Parametr służy do określenia prostego dopasowania, a nie dopasowania wyrażenia regularnego.

Różnica między FINDSTR a Select-String

FINDSTR to plik wykonywalny sprzed ery PowerShell, który służy do wyszukiwania tekstu i ciągów w plikach. Select-String to polecenie cmdlet programu PowerShell, które służy do wyszukiwania tekstu i wzorców w plikach. W porównaniu do FINDSTR, Select-String jest potężniejszym i bardziej złożonym cmdletem, który wyświetla wiele informacji o dopasowaniu.

Jaki jest odpowiednik grep w PowerShell?

Select-String jest odpowiednikiem programu PowerShell dla grep dostępnego w systemie Windows. Działa tak samo jak grep i podaje szczegółowe informacje dotyczące dopasowania zgodnie z parametrami, których używamy w składni.

Czy FINDSTR działa na plikach Word?

Tak, FINDSTR działa w plikach Worda. Ale nie może pokazać znaleźć dopasowań, nawet jeśli wprowadzone ciągi znajdują się w pliku. Może dać wyniki w plikach binarnych w formatach.doc, ale nie w formatach.docx z nieznanych przyczyn technicznych.

Powiązane informacje: Jak sprawdzić wersję PowerShell w systemie Windows.

Categories: IT Info