Как использовать команды 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(Find) String стал FINDSTR . Он также используется для поиска файлов с определенным текстом. Существуют различные команды FINDSTR для выполнения различных функций. Впервые он был выпущен вместе с Windows 2000 Resource Kit под названием qgrep . Это встроенный инструмент в Windows , и его файл доступен в формате .exe. FINDSTR не ищет пустые байты, такие как пробелы в формате Unicode .

Есть несколько основных правил использования команды findstr в командной строке или других интерпретаторах командной строки (Command Line Interpreters),(Command Prompt) разработанных Microsoft . Они есть:

  • Каждая команда FINDSTR должна содержать строку, за которой следует имя файла.
  • В командах 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) текстовому шаблону, если он находится в конце строки.

Обрабатывает строки поиска буквально.

Обрабатывает строки поиска как регулярные выражения. Это значение по умолчанию.

Поиск(Searches) в текущем каталоге и во всех подкаталогах.

Игнорирует регистр символов при поиске строки.

/Икс

Печатает строки, которые точно совпадают.

/v

Печатает только строки, которые не содержат совпадений.

/ п

Печатает номер каждой совпадающей строки.

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

Печатает смещение символов перед каждой соответствующей строкой.

/п

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

/не в сети]

Не пропускает файлы с установленным атрибутом offline.

/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используется для игнорирования регистра символов (заглавная М) в строке Microsoft .

5] Если вы хотите найти строки, начинающиеся с «Кому» с несколькими пробелами перед словом, и хотите отобразить номер строки, в которой встречаются строки, используйте:

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),(FINDSTR) которые вы используете в FINDSTRтакже можно использовать в Select-String . Кроме того, Select-String работает с различными кодировками файлов, такими как ASCII , Unicode и т. д . Он использует Byte-Order-Mark ( BOM ) для определения кодировки файла. Если в файле отсутствует спецификация , (BOM)командлет Select-String(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 , который использовался для поиска текста и строк в файлах. (PowerShell)Select-String — это командлет PowerShell , который используется для поиска текста и шаблонов в файлах. По сравнению с FINDSTR Select - String(Select-String) является более мощным и сложным командлетом, который отображает много информации о совпадении.

Что такое эквивалент grep в PowerShell ?

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-летним опытом работы на платформах Windows 11 и 10. Я сосредоточился на разработке и поддержке высококачественного программного обеспечения для Windows 7 и Windows 8. Я также работал над множеством других проектов, включая, помимо прочего, Chrome, Firefox, Xbox One и файлы.



Related posts