Как да използвате командите FINDSTR и Select-String в Windows 11/10
Чували ли сте някога за FINDSTR и Select-String ? Select-String е командлет, който се използва за търсене на текст и модели във входни низове и файлове. Той е подобен на grep на Linux и FINDSTR на Windows . В това ръководство виждаме какво и как да използваме командите FINDSTR(FINDSTR ) и Select-String в Windows 11/10.
Â
Какво е 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.)
Related posts
Списък с команди DISKPART и как да ги използвате в Windows 11/10
Как да покажа командния ред в диспечера на задачите на Windows 11/10
Как да убиете процес с помощта на командния ред в Windows 11/10
Опции, превключватели, параметри на командния ред на ChkDsk в Windows 11/10
Как да преоразмерите видео с помощта на команден ред с FFmpeg в Windows 10
Най-добрият безплатен софтуер за монтиране на ISO за Windows 11/10
Как да изброите всички услуги на Windows с помощта на PowerShell или командния ред
Основни съвети за командния ред за Windows 11/10
Как да сменяте твърди дискове в Windows 11/10 с Hot Swap
Настройките за синхронизиране не работят или са в сиво в Windows 11/10
Какво представлява файлът Windows.edb в Windows 11/10
URI команди за отваряне на приложения на Microsoft Store в Windows 11/10
Как да поправите Microsoft 365 с помощта на командния ред в Windows 11/10
Генерирайте списък със стартиращи програми чрез команден ред или PowerShell
Достъп до FTP сървър с помощта на командния ред в Windows 10
Конвертирайте CSV в Excel (XLS или XLSX) с помощта на командния ред в Windows
Как да отворите командния ред в папка в Windows 11/10
Как да отворите системни свойства в контролния панел в Windows 11/10
Преобразувайте изображения между формати чрез командния ред в Ubuntu
Как да възстановите системния регистър с помощта на командния ред в Windows 11/10