Jak korzystać z poleceń FINDSTR i Select-String w systemie Windows 11/10?

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(Linux) i FINDSTR w systemie Windows(Windows) . W tym przewodniku zobaczymy, co i jak używać poleceń FINDSTR(FINDSTR ) i Select-String w systemie Windows 11/10.

Jak używać poleceń FindSTR i Select-String

Co to jest FINDSTR i jak korzystać z FINDSTR

FINDSTR to polecenie używane do wyszukiwania określonego tekstu w plikach w systemie Windows(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(Windows) , a jego plik jest dostępny w formacie .exe. FINDSTR nie przeszukuje bajtów null, takich jak spacje, w formacie Unicode .

Istnieje kilka podstawowych zasad używania polecenia findstr w wierszu poleceń(Command Prompt) lub innych interpreterach wiersza poleceń(Command Line Interpreters) opracowanych przez firmę Microsoft . Oni są:

  • Każde polecenie FINDSTR musi zawierać ciąg, po którym następuje nazwa pliku.
  • W poleceniach FINDSTR(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.

Meta-character

Value

.

Wildcard – Any character

*

Repeat – Zero or more occurrences of the previous character or class.

^

Beginning line position – Beginning of the line.

$

Ending line position – End of the line.

[class]

Character class – Any one character in a set.

[^class]

Inverse class – Any one character not in a set.

[x-y]

Range – Any characters within the specified range.

\x

Escape – Literal use of a meta-character.

\<string

Beginning word position – Beginning of the word.

string\>

Ending word position – End of the word.

  • Jeśli chcesz wyszukać wiele ciągów, powinieneś utworzyć plik tekstowy z kryteriami wyszukiwania w osobnym wierszu.
  • Użyj(Use) 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(Matches) wzorzec tekstu, jeśli znajduje się na początku wiersza.

/mi

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

/l

Dosłowne przetwarzanie ciągów wyszukiwania.

/r

Przetwarza ciągi wyszukiwania jako wyrażenia regularne. To jest ustawienie domyślne.

/s

Przeszukuje(Searches) bieżący katalog i wszystkie podkatalogi.

/i

Ignoruje wielkość liter 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

Drukuje 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:<plik>

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

/c:<ciąg>

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

/g:<plik>

Pobiera ciągi wyszukiwania z określonego pliku.

/d:<lista katalogów>

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

/a:<atrybut koloru>

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

<string>

Określa tekst do wyszukania w  nazwie pliku(filename) . Wymagany.

<span “>[\<dysk>:][<ścieżka>]<nazwa pliku>[â€]

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

/?

Wyświetla pomoc w wierszu polecenia.

Korzystanie z poleceń findstr

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

findstr microsoft windows x.y

2] Aby wyszukać słowo microsoft windows w pliku xy, użyj:

findstr /c:"microsoft windows" x.y

W powyższym poleceniu /csł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 przypisywania wagi do wpisywania przypadków, użyj:

findstr /s /i Microsoft *.*

W powyższej składni /ssłuży do przeszukiwania bieżącego katalogu i jego podkatalogów. /isł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 wystąpiły ciągi, użyj:

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

6] Jeśli chcesz wyszukać wiele ciągów w wielu plikach z kryteriami wyszukiwania w stringlist.txt i listą 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 \<thewindowsclub\> *.*

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

findstr /s /i /m \<the.* *.*

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

Co to jest Select-String i jego parametry?

Wyobraź sobie(Imagine) , że 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 umożliwia wyszukiwanie ciągów i tekstu w tych plikach wejściowych PowerShell . Jest podobny do grep na Linuksie(Linux) .

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(Linux) i FINDSTR w systemie Windows(Windows) . W przypadku użycia Select-String do wyszukiwania 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żna go używać do wyszukiwania wielu dopasowań w wierszu, wyświetlania tekstu przed lub po dopasowaniu lub uzyskiwania wyników w wyrażeniach logicznych, takich jak Prawda(True) lub Fałsz(False) . użyj w poleceniu. WildCards , których używasz w FINDSTRmoże być również używany 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(Byte-Order-Mark) ( BOM ) do określenia kodowania pliku. Jeśli w pliku brakuje BOM , Select-String przyjmie, że plik jest UTF8 .

Parametry Select-String

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

-AllMatches

Jest używany do wyszukiwania wszystkich dopasowań w linii, w przeciwieństwie do pierwszego dopasowania w linii , które zwykle robi Select-Sting .

-CaseSensitive

Oznacza to, że w dopasowaniu rozróżniana jest wielkość liter. Domyślnie w Select-String nie jest rozróżniana wielkość liter.

-Context

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

-Culture

W kodowaniu istnieją pewne kultury, takie jak liczba porządkowa, niezmienna itp. 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 służy do włączenia określonego tekstu do pliku.

-InputObject

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

-List

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 podświetla dopasowanie w pliku. Ten parametr służy do unikania podświetlania.

-NotMatch

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

-Path

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

-Pattern

Parametr służy do znalezienia dopasowania w każdej linii jako wzorca.

-Quiet

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

-Raw

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

-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 z 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 programu grep dostępnego w systemie Windows(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 na plikach Word . Ale nie może pokazać dopasowania, 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 Przeczytaj(Related Read) : Jak sprawdzić wersję PowerShell w systemie Windows.(How to check the PowerShell version in Windows.)



About the author

Jestem inżynierem oprogramowania z ponad 10-letnim doświadczeniem na platformach Windows 11 i 10. Skupiam się na tworzeniu i utrzymywaniu wysokiej jakości oprogramowania zarówno dla Windows 7, jak i Windows 8. Pracowałem również nad wieloma innymi projektami, w tym między innymi Chrome, Firefox, Xbox One i plikami.



Related posts