Как использовать команды 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(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.)
Related posts
Список команд DISKPART и как их использовать в Windows 11/10
Как отобразить Command Line в в Task Manager из Windows 11/10
Как убить процесс, используя Command Line в Windows 10
ChkDsk Command Line Options, Switches, Parameters в Windows 10
Как изменить размер Video с использованием Command-line с FFmpeg в Windows 10
Как открыть System Properties в Windows 10 Control Panel
Как проверить Battery level с использованием Command line в Windows 11/10
Convert CSV до Excel (XLS or XLSX) с использованием Command line в Windows 10
Включить Network Connections пока в Modern Standby на Windows 10
Что такое Windows.edb file в Windows 10
Fix Crypt32.dll не найден или отсутствует ошибка в Windows 11/10
Что такое RegAsm.exe? Как отменить регистрацию DLL, используя RegAsm.exe?
Как обновить драйверы, используя Command Prompt в Windows 10
Microsoft Intune не синхронизирует? Force Intune, чтобы синхронизировать в Windows 11/10
Как использовать встроенные инструменты Charmap and Eudcedit Windows 10
Как открыть Command Prompt в папке в Windows 10
Как открыть Microsoft Store apps от Command Prompt
Как показать Details pane в File Explorer в Windows 10
Perform Arithmetic Операции в Command Prompt на Windows 10
Как использовать Netstat command для устранения проблем с сетью