Вы когда-нибудь слышали о FINDSTR и Select-String ? Select-String-это командлет, который используется для поиска текста и шаблонов во входных строках и файлах. Он похож на grep в Linux и FINDSTR в Windows. В этом руководстве мы увидим, что и как использовать команды FINDSTR и Select-String в Windows 11/10.

Что такое FINDSTR и как использовать FINDSTR

FINDSTR-это команда, используемая для поиска определенного текста в файлах в Windows. Строка Find при кратком превращении стала FINDSTR. Он также используется для поиска файлов с определенным текстом. Существуют различные команды FINDSTR для выполнения различных функций. Впервые он был выпущен вместе с Windows 2000 Resource Kit под названием qgrep . Это встроенный инструмент в Windows, и его файл доступен в формате.exe. FINDSTR не выполняет поиск нулевых байтов, таких как пробелы, в формате Unicode.

Существуют некоторые основные правила использования команды findstr в командной строке или других интерпретаторах командной строки, разработанные Microsoft . Это:

Каждая команда FINDSTR должна содержать строку, за которой следует имя файла. Вы можете использовать буквальные символы и метасимволы в командах FINDSTR. Буквенные символы не имеют особого значения в синтаксисе. Буквы и цифры называются буквальными символами. Мета-символы-это символы, каждый из которых имеет определенное значение. Ниже приведены допустимые метасимволы в синтаксисе и их значения.

Метасимвол

Значение

.

Подстановочный знак -любой символ

*

Повтор -ноль или более вхождений предыдущего символа или класса.

^

Позиция начала строки -начало строки.

$

Позиция конечной строки -конец строка.

[class]

Класс символа -любой символ в наборе.

[^ class]

Обратный класс -любой символ, не входящий в набор.

[xy]

Диапазон -любой символов в указанном диапазоне.

\ x

Escape -буквальное использование метасимвола.

\

Позиция начала слова -начало слова.

string \>

Позиция конечного слова -Конец слова.

Вы должны создать текстовый файл с поиском c riteria в отдельной строке, если вы хотите найти несколько строк. Используйте пробелы между строками для поиска нескольких строк в одной команде, за исключением синтаксиса с/c.

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

Параметр

Описание

/b

Соответствует текстовому шаблону, если он находится в начале строки.

/e

Соответствует текстовому шаблону, если он находится в конце строки.

/l

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

/r

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

/s

Выполняет поиск в текущем каталоге и во всех подкаталогах.

/i

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

/x

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

/v

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

/n

Печатает номер каждой строки, которая соответствует.

/m

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

/o

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

/p

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

/off [line]

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

/f:

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

/c:

Использует указанный текст как буквальную строку поиска.

/g:

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

/d:

Выполняет поиск в указанном списке каталогов. Каждый каталог должен быть разделен точкой с запятой (;), например dir1; dir2; dir3.

/a:

Задает атрибуты цвета с двумя шестнадцатеричными цифрами. Цвет шрифта
/? для получения дополнительной информации.

Задает текст для поиска в имени файла. Обязательно.

[\ :] [] […]

Указывает расположение и файл или файлы для поиска. Требуется хотя бы одно имя файла.

/?

Отображает справку в командной строке.

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

1] Для поиска слова microsoft или windows в файле xy вы должны использовать:

findstr microsoft windows xy

2] Для поиска для слова microsoft windows в файле xy вы должны использовать:

findstr/c:”microsoft windows”xy

В приведенной выше команде/c используется для поиска указанного текста «Microsoft Windows» в файле.

3] Если вы хотите найти в текстовом файле twc.txt вхождения слова Microsoft с большой буквы, вы должны использовать:

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 \ *. *

8] Если вы хотите найти файлы, содержащие thewindowsclub и другие слова, начинающиеся с подобных тезисов, термометра и т. д., используйте:

findstr/s/i/m \

Это способы использования команд findstr в интерпретаторах командной строки, таких как командная строка и т. д. должны понимать каждый параметр и его функцию, а также метасимволы и их значение, чтобы писать синтаксис и регулярно использовать команду findstr.

Что такое Select-String и его параметры

Представьте себе вы пишете фрагменты кода в PowerShell и потеряли из виду определенные строки и текст в этом файле PowerShell. Вам нужно найти это во многих тысячах строк кода в тысячах строк и слов. Появляется команда Select-String, которая позволяет вам искать строки и текст в этих входных файлах PowerShell. Он похож на grep в Linux.

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

Этот параметр используется для получения вывода в виде логических значений, таких как True или False.

-Raw

Он используется для просмотра только совпадающих объектов, а не для информации о совпадении.

-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 по неизвестным техническим причинам.

Связанное чтение : Как проверить версию PowerShell в Windows.

Categories: IT Info