Как да използвате командите FINDSTR и Select-String в Windows 11/10

Чували ли сте някога за FINDSTR и Select-String ? Select-String е командлет, който се използва за търсене на текст и модели във входни низове и файлове. Той е подобен на grep на Linux и FINDSTR на Windows . В това ръководство виждаме какво и как да използваме командите FINDSTR(FINDSTR ) и Select-String в Windows 11/10.

Как да използвате командите FindSTR и Select-String

 

Какво е FINDSTR и как да използваме FINDSTR

FINDSTR е команда, използвана за намиране на конкретен текст във файлове в Windows . Find String, когато се постави накратко, става FINDSTR . Използва се и за намиране на файлове с конкретен текст. Има различни команди FINDSTR за извършване на различни функции. За първи път беше пуснат с Windows 2000 Resource Kit с името qgrep . Това е вграден инструмент в Windows и неговият файл е наличен във формат .exe. FINDSTR не търси нулеви байтове като интервали във формат Unicode .

Има някои основни правила за използване на командата findstr в командния ред(Command Prompt) или други интерпретатори на командния ред(Command Line Interpreters) , които са разработени от Microsoft . Те са:

  • Всяка команда FINDSTR трябва да съдържа низ, последван от име на файл.
  • Можете да използвате буквални знаци и мета-знаци в командите FINDSTR . Литералните знаци нямат специално значение в синтаксиса. Буквите и цифрите се наричат ​​буквални знаци. Мета-знаците са символи, които имат специфични значения за всеки от тях. Следват приетите мета-символи в синтаксиса и техните значения.

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.

  • Трябва да създадете текстов файл с критерии за търсене на отделен ред, когато искате да търсите множество низове.
  • Използвайте(Use) интервали между низовете, за да търсите множество низове в една команда, с изключение на синтаксиса с /c.

Параметри и тяхното значение в синтаксиса findstr

Параметър

Описание

Съвпада(Matches) с шаблона на текста, ако е в началото на ред.

Съвпада(Matches) с шаблона на текста, ако е в края на ред.

Обработва буквално низове за търсене.

/r

Обработва низове за търсене като регулярни изрази. Това е настройката по подразбиране.

Търси(Searches) текущата директория и всички поддиректории.

/i

Игнорира регистъра на символите при търсене на низ.

Отпечатва редове, които съвпадат точно.

/v

Отпечатва само редове, които не съдържат съвпадение.

Отпечатва номера на реда на всеки съвпадащ ред.

Отпечатва само името на файла, ако файлът съдържа съвпадение.

/o

Отпечатва отместване на символа преди всеки съвпадащ ред.

/стр

Пропуска файлове с непечатаеми знаци.

/извън линия]

Не пропуска файлове, които имат зададен офлайн атрибут.

/f:<файл>

Получава списък с файлове от посочения файл.

/c:<низ>

Използва посочения текст като буквален низ за търсене.

/g:<файл>

Получава низове за търсене от посочения файл.

/d:<списък с директории>

Търси(Searches) в посочения списък с директории. Всяка директория трябва да бъде разделена с точка и запетая (;), например  dir1;dir2;dir3.

/a:<цветен атрибут>

Определя цветови атрибути с две шестнадесетични цифри. Въведете   за допълнителна информация.color
/?

<низ>

Определя текста за търсене в  име на файл(filename) . Задължително.

<span “>[\<диск>:][<път>]<име на файл>[...]

Посочва местоположението и файла или файловете за търсене. Изисква се поне едно име на файл.

/?

Показва помощ в командния ред.

Използване на команди findstr

1] За да търсите думата microsoft или windows във файл xy, трябва да използвате:

findstr microsoft windows x.y

2] За да търсите думата microsoft windows във файл xy, трябва да използвате:

findstr /c:"microsoft windows" x.y

В горната команда /cсе използва за търсене на посочения текст “microsoft windows’ във файла.

3] Ако искате да намерите срещата на думата Microsoft с главно M в текстовия файл twc.txt, трябва да използвате:

findstr Microsoft twc.txt

4] Ако искате да търсите конкретна дума Microsoft в директория и нейните поддиректории, без да придавате значение на случаите на тип, използвайте:

findstr /s /i Microsoft *.*

В горния синтаксис /sсе използва за търсене в текущата директория и нейните поддиректории. /iсе използва за игнориране на главни букви (главна M) в низа Microsoft .

5] Ако искате да намерите редове, които започват с To с множество интервали преди думата и искате да покажете номера на реда, където са се появили низовете, използвайте:

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

6] Ако искате да търсите множество низове в множество файлове с критерии за търсене в stringlist.txt и списък с файлове в filelist.txt и искате да видите резултатите, съхранени във файла result.out, използвайте:

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

7] Ако искате да намерите файловете, които съдържат думата thewindowsclub в определена директория и нейните поддиректории, използвайте:

findstr /s /i /m \<thewindowsclub\> *.*

8] Ако искате да намерите файлове, които съдържат thewindowsclub и други думи, които започват с подобна теза, термометър и т.н., използвайте:

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

Това са начините, по които можете да използвате командите findstr в интерпретатори на командния ред като команден ред(Command Prompt) и т.н. Трябва да разберете всеки параметър и неговата функция, както и мета-символите и тяхното значение, за да пишете синтаксис и да използвате командата findstr редовно.

Какво е Select-String и неговите параметри

Представете си(Imagine) , че пишете парчета код в PowerShell и сте загубили следа за определени низове и текст в този PowerShell файл. Трябва да откриете това в много хиляди реда код в рамките на хиляди низове и думи. Идва командата Select-String , която ви позволява да търсите низове и текст в тези входни файлове на PowerShell . Това е подобно на grep в Linux .

Select-String е командлет, който се използва за търсене на текст и модели във входни низове и файлове. Той е подобен на grep на Linux и FINDSTR на Windows . Когато се използва Select-String за търсене на някакъв текст, той намира първото съвпадение във всеки ред и показва името на файла, номера на реда и целия ред, където е възникнало съвпадението. Може да се използва за намиране на множество съвпадения на ред или за показване на текст преди или след съвпадението, или за получаване на резултати в булеви изрази като True или False . Можете също да го използвате, за да покажете целия текст, с изключение на съвпадението на израза, който използвайте в командата. WildCards ,(WildCards) които използвате във FINDSTRможе да се използва и в Select-String . Също така, Select-String работи с различни файлови кодировки като ASCII , Unicode и т.н. Той използва Byte-Order-Mark ( BOM ), за да определи кодирането на файла. Ако спецификацията(BOM) липсва във файла, Select-String ще приеме файла като UTF8 .

Параметри на Select-String

Microsoft предвиди и разработи следните параметри, които ще се използват в синтаксиса.

-AllMatches

Използва се за търсене на всички съвпадения в реда, за разлика от първото съвпадение в реда , който обикновено прави Select-Sting .

-CaseSensitive

Това означава, че съвпадението е чувствително към главни букви. По подразбиране Select-String не е чувствителен към малки и големи букви.

-Context

Използва се за улавяне на определения брой линии, които въвеждате преди и след линията на съвпадението. Ако въведете 1, той улавя един ред преди и след мача.

-Culture

В кодирането има определени култури като ординална, инвариантна и т.н. Този параметър се използва за определяне на културата в синтаксиса.

-Encoding

Използва се за определяне на формата на кодиране на текста във файлове като ASCII , UTF8 , UTF7 , Unicode и др.

-Exclude

Този параметър се използва за изключване на определен текст във файла.

-Include

Този параметър се използва за включване на определен текст във файла.

-InputObject

Използва се за определяне на текста, който трябва да се търси.

-List

Използва се за извличане на списък с файлове, които съответстват на текста.

-LiteralPath

Използва се за определяне на пътя за търсене.

-NoEmphasis

Обикновено Select-String подчертава съвпадението във файла. Този параметър се използва за избягване на подчертаване.

-NotMatch

Използва се за намиране на текст, който не съответства на посочения шаблон.

-Path

Използва се за определяне на пътя, който да се търси, заедно с използването на заместващи знаци.

-Pattern

Параметърът се използва за намиране на съвпадението във всеки ред като шаблон.

-Quiet

Този параметър се използва за получаване на изхода в булеви(Boolean) стойности като True или False .

-Raw

Използва се за виждане само на съвпадащи обекти, а не за информация за съвпадение(Match) .

-SimpleMatch

Параметърът се използва за определяне на просто съвпадение, а не съвпадение на регулярен израз.

Разлика между FINDSTR и Select-String

FINDSTR е изпълним файл преди PowerShell , който се използва за търсене на текст и низове във файлове. Select-String е командлет на PowerShell , който се използва за търсене на текст и модели във файлове. В сравнение с FINDSTR , Select-String е по-мощният и сложен командлет, който показва много информация за съвпадението.

Какво представлява PowerShell еквивалентът на grep?

Select-String е PowerShell еквивалент на grep, наличен в Windows . Той функционира по същия начин като grep и дава подробна информация относно съвпадението според параметрите, които използваме в синтаксиса.

FINDSTR работи ли върху Word файлове?

Да, FINDSTR работи с Word файлове. Но не може да покаже намерете съвпаденията, дори ако въведените от вас низове са там във файла. Може да ви даде резултати в двоични файлове във форматите .doc, но не и във форматите .docx поради някои неизвестни технически причини.

Свързано четене(Related Read) : Как да проверите версията на PowerShell в Windows.(How to check the PowerShell version in Windows.)



About the author

Аз съм компютърен учен с над 10 години опит в разработката на софтуер и сигурността. Имам силен интерес към игрите за Firefox, Chrome и Xbox. По-специално, особено ме интересува как да се уверя, че кодът ми е безопасен и ефективен.



Related posts