Cmd регулярные выражения windows

Findstr

Поиск образцов текста в файлах с использованием регулярных выражений.

Синтаксис

Параметры

Заметки

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

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

В приведенной ниже таблице перечислены метасимволы, допустимые для команды findstr.

Символ Значение
. Подстановочный знак: любой символ
* Повтор: ноль или более предшествующих символов или классов символов.
^ Позиция строки: начало строки
$ Позиция строки: конец строки
[класс] Класс символа: любой символ из множества
[^класс] Инвертированный класс: любой символ из множества
[xy] Диапазон: любой символ из диапазона
\x Исключение: использование метасимвола x в качестве литерала
\ Позиция слова: конец слова

Специальные символы в регулярных выражениях дают наилучший результат при совместном использовании. Например, при комбинации символа подстановки (.) и повторителя (*) совпадает любая строка символов:

Используйте следующее выражение как часть более объемного выражения, которое совпадает со строкой, начинающейся с «b» и оканчивающейся на «ing»:

Примеры

Для отделения строк поиска друг от друга следует использовать пробелы, кроме тех случаев, когда задан ключ /c. Для поиска слова «hello» или «there» в файле x.y введите следующую каманду:

Для поиска словосочетания «hello there» в файле x.y введите следующую каманду:

Для поиска всех слов «Windows» (с первой заглавной буквой W) в файле Proposal.txt может быть использована следующая команда:

Для поиска в каждом файле текущего каталога и в файлах всех подкаталогов слова «Windows» без учета строчных и заглавных букв может быть использована следующая команда:

Для поиска всех строк, содержащих слово «FOR», перед которым идет несколько пробелов (чтобы найти в программе оператор цикла), с выводом номера каждой строки можно использовать команду:

Если требуется найти несколько разных наборов символов в нескольких файлах, можно создать текстовый файл, каждая строка которого содержит образец для поиска. Также можно задать точный список файлов, если поиск будет производиться в текстовых файлах. Для использования файла Finddata.txt, содержащего образцы для поиска, файла Filelist.txt, содержащего список файлов, в которых будет производиться поиск, и записи результатов работы программы в файл Results.out служит следующая команда:

Предположим, необходимо найти каждый файл в текущем каталоге и его подкаталогах, содержащий слово «computer» без различия строчных и заглавных букв. Для вывода списка таких файлов можно использовать следующую команду:

Теперь, предположим, требуется найти не только само слово «computer», но и все другие слова, начинающиеся с тех же букв, таких как «compliment» и «compete». Введите следующую команду:

Источник

findstr findstr

Выполняет поиск шаблонов текста в файлах. Searches for patterns of text in files.

Синтаксис Syntax

Параметры Parameters

] [. ] Указывает расположение и файл или файлы для поиска. Specifies the location and file or files to search. Требуется по крайней мере одно имя файла. At least one file name is required. /? /? Отображает справку в командной строке. Displays Help at the command prompt.

Комментарии Remarks

Все параметры командной строки findstr должны предшествовать строкам и именам файлов в строке команды. All findstr command-line options must precede strings and filename in the command string.

Для поиска шаблонов текста в регулярных выражениях используются как литеральные символы, так и мета-символы, а не точные строки символов. Regular expressions use both literal characters and meta-characters to find patterns of text, rather than exact strings of characters.

Литеральный символ — это символ, который не имеет особого значения в синтаксисе регулярных выражений; Вместо этого он соответствует вхождению этого символа. A literal character is a character that doesn’t have a special meaning in the regular-expression syntax; instead, it matches an occurrence of that character. Например, буквы и цифры являются литеральными символами. For example, letters and numbers are literal characters.

Мета-символ — это символ с особым значением (оператор или разделитель) в синтаксисе регулярных выражений. A meta-character is a symbol with special meaning (an operator or delimiter) in the regular-expression syntax.

Допустимые мета-символы: The accepted meta-characters are:

Читайте также:  Ch340g драйвер windows 7 установка

Для поиска нескольких строк в наборе файлов необходимо создать текстовый файл, содержащий каждый критерий поиска в отдельной строке. To search for multiple strings in a set of files, you must create a text file that contains each search criterion on a separate line.

Используйте пробелы для разделения нескольких строк поиска, если только аргумент не имеет префикса с параметром /c. Use spaces to separate multiple search strings unless the argument is prefixed with /c.

Примеры Examples

Для поиска Hello или в файле x. y введите: To search for hello or there in file x.y, type:

Чтобы найти Hello в файле x. y, введите: To search for hello there in file x.y, type:

Чтобы найти все вхождения слова Windows (с заглавной буквой W) в файле proposal.txt, введите: To find all occurrences of the word Windows (with an initial capital letter W) in the file proposal.txt, type:

Для поиска всех файлов в текущем каталоге и всех подкаталогах, содержащих слово Windows, независимо от регистра букв, введите: To search every file in the current directory and all subdirectories that contained the word Windows, regardless of the letter case, type:

Чтобы найти все вхождения строк, начинающихся с и, предшествует нулю или большему числу пробелов (как в цикле компьютерной программы ) и для вывода номера строки, где найдено каждое вхождение, введите: To find all occurrences of lines that begin with FOR and are preceded by zero or more spaces (as in a computer program loop), and to display the line number where each occurrence is found, type:

Чтобы получить список точных файлов, которые необходимо найти в текстовом файле, используйте условия поиска в файле stringlist.txt, чтобы найти файлы, перечисленные в filelist.txt, а затем сохраните результаты в файле Results. out, введите: To list the exact files that you want to search in a text file, use the search criteria in the file stringlist.txt, to search the files listed in filelist.txt, and then to store the results in the file results.out, type:

Чтобы получить список всех файлов, содержащих слово Computer в текущем каталоге и всех подкаталогах, не зависимо от регистра, введите: To list every file containing the word computer within the current directory and all subdirectories, regardless of case, type:

Чтобы получить список всех файлов, содержащих слово Computer, и других слов, начинающихся с «Comp» (например, «Привет» и «конкурировать»), введите: To list every file containing the word computer and any other words that begin with comp, (such as compliment and compete), type:

Источник

Регулярные выражения

Всем доброго времени суток!

Искал на форуме подходящую тему, но не нашел. Прошу прощения если тема повторная.
Хотелось бы узнать о всех возможных регулярных выражениях в командной строке Windows.

например мне известно что для команды copy и where возможно применить следующие выражения:

Выражение для команды FindStr это другая тема.

Что мне ещё не известно? Пожалуйста просветите =)

Регулярные выражения
Подскажите пожалуйста,что означает этот набор в поиске регулярных выражений. findstr выводит все.

Регулярные выражения
Привет, подскажите как использовать регулярные выражения для поиска файлов? Вообщем необходимо.

Регулярные выражения в переменных
Почему работает set p=rtt tto echo %p:* =% ::tto Но не работает set p=rtt tto echo %p.

Регулярные выражения при задании искомых строк
MS DOS 6.22 Norton Commander. Пример из учебника (справка F1 вроде как подтверждает.

рег. выражения в среде Windows есть в командной оболочке powershell,
в интерпретаторе cmd их нет.

символы ‘*‘ и ‘?‘ в именах файлах к рег. выражениям не относятся,
в среде Unix их использование называют ‘globbing’.

тем не менее утилита findstr поддерживает некое подобие рег. выр.

Хорошо, спасибо за разъяснение )

В примере с командами COPY и WHERE какие ещё шаблоны\комбинации к файлам возможно применить?

никаких потайных символов, отсутствующих в сопроводительной документации и доступных только избранным
этого мира, команды copy и where не имеют.

Добавлено через 4 минуты
( упреждая вопрос, а я то откуда это знаю, отвечаю,- я избранный )

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Регулярные выражения
Здравствуйте. Проблема с регулярными выражениями Выводить вопрос, какую папку создать и на каком.

Регулярные выражения: извлечение ссылок нужной разрядности
Здравствуйте! Подскажите пожалуйста в чём ошибка? Есть рег.выр: ^.*(http\:.*(msu|exe))|(\|\].

Выделить из строки имя компьютера, используя регулярные выражения
День добрый! Никак не удается мне один фокус. Имеем таку строчку: Нужно вытащить Причем.

Источник

В этой статье мы с вами рассмотрим утилиту findstr и find командной строки, которые позволяет производить поиск строк в текстовом документе. Поиск через командную строку можно также настроить, используя шаблоны, которые настраиваются на основе регулярных выражений, но сперва, немного лирики…

В былые времена, когда я был еще полным чайником в компьютерах, мне пришлось услышать про волшебные “виртуальные диски”. В то время размер моего винчестера составлял 2 гигабайта, и на счету был каждый байт, я каждую картинки сжимал для экономии места, зато в системе был один фильм и одна игра “Age Of Empires 2”, я ее уже раз сто проходил. Так вот, я почему то решил, что “виртуальный диск”, это дополнительная память, которая может появится из воздуха… Где то два дня пытался всячески установить через Диспетчер устройств еще один винт на 500 метров, при том, что такого оборудования в системном блоке и подавно не было…

Читайте также:  L1918s драйвера windows 7

Утилита find командная строка

И так, смотрим на описание ключей:

[/V] – произвести вывод всех строк, которые НЕ содержат заданной.

[/C] – выводится только общее число строк, содержащих заданную.

[/N] – Вывод номеров отображаемых строк.

[/I] – Поиск без учета регистра символов.

[/OFF[LINE]] – Не пропускать файлы с установленным атрибутом «Автономный».

«искомые_значения» – собственно, строчка, поиск которой производится из командной строки Windows

Хорошо, теперь давайте попробуем написать несколько примеров.

FIND «const» D:\TEST\*.txt

На выходе мы получим следующую информацию:

———- D:TESTSEND_MAIL_DATA.VBS.TXT
соnst toMSg =»to@yandex.ru» ‘получатель
соnst fromMSg =»from@gmail.com» ‘отправитель
соnst subjMsg = «Администратор» ‘субъект
соnst sndUsr =» login» ‘логин
соnst sndPswd =»password» ‘пароль
cоnst smtpSrvr = «smtp.gmail.com» ‘почтовый сервер

———- D:TESTSEND_MAIL_TEXT.VBS.TXT
cоnst toMSg =»to@yandex.ru»
cоnst fromMSg =»from@gmail.com»
cоnst subjMsg = «Администратор»
cоnst sndUsr =» login»
сonst sndPswd =»password»
сonst smtpSrvr = «smtp.gmail.com»

Как видим, мы получили список всех тех строчек, где встречается искомое слово.

Теперь попробуем сделать поиск через командную строку слова “samsung” во всех pdf файлах:

FIND «samsung» D:\TEST\*.pdf

Слово «samsung» встречается в одном документе, но, утилита FІND найти его не смогла, стоит обратить внимание, что и стандартный поиск операционной системы Windows также ничего не нашел, видимо, Google в этом все же больше преуспел.

FIND «Victoria Sanremo» D:\TEST\*.*

В результат выполнения команды find, командная строка ничего не нашла в свойствах документов. Кроме утилиты FІND, есть еще и CMD FINDSTR, которая обладает немного большими возможностями.

Утилита FINDSTR командная строка

Утилита CMD FINDSTR предоставляется возможность осуществить поиск текста через командную строку не только в одном файле, или группе документов заданных по шаблону, но и с возможностью загрузки готового списка. И так, прежде всего, давайте посмотрим на основной синтаксис.

/B – Данный ключ определяет поиск образца лишь в началах строчек.

/R – Фразы и слова будут приниматься как регулярные выражения.

/S – Производит поиск файлов через командную строку в текущем каталоге и всех его подпапках.

/I – Данный ключ определяет, что поиск фразы из командной строки будет вестись без учета регистра.

/X – Производит вывод только тех строчек, которые содержат точное совпадение.

/O – Вывести список найденных строк через пустую строчку.

/P – Данный параметр определяет, что произойдет пропуск всех строк, которые содержат непечатаемые символы.

/A:цвета – Шестнадцатеричный код цвета, для получения справки можете ввести команду «COLOR /?»

/F:файл – Производит чтение списка файлов из заданного документа.

/C:строчка – Использовать значение данного параметра как искомую фразу поиска.

/G:файл – Позволяет получить список строк из заданного документа.

/D:список_папок – Тут через точку с запятой мы можем задать список каталогов, в которых нужно произвести поиск через командную строку.

“искомые_значения” – Собственно, то, что мы ищем.

Что бы разделить между собой искомые фразы, между ними вставляется пробел, если параметр не содержит префикса /C. Например,

FINDSTR «Привет мир» data.txt

ищет «Привет» или «мир» в файле data.txt, а команда

FINDSTR /C:»Привет мир» data.txt

ищет фразу «Привет мир» в файле data.txt.

Регулярные выражения являются своеобразным бонусом, которым не то, что оболочка, но и язык программирования не всегда может похвастаться. При поиске из командной строки, регулярные выражения позволяют задавать собственные шаблоны (для справки по некоторым значениям введите в cmd findstr/? ), они также используются в сценариях сервера Windows Script Host, за это отвечает отдельный объект.

Спасибо за внимание. Автор блога Владимир Баталий

Источник

В каждом разделе этого краткого справочника приводится перечень конкретной категории символов, операторов и конструкций, которые можно использовать для задания регулярных выражений. Each section in this quick reference lists a particular category of characters, operators, and constructs that you can use to define regular expressions.

Мы также представили эту информацию в двух форматах, чтобы вы могли ее скачать и распечатать для справки: We’ve also provided this information in two formats that you can download and print for easy reference:

Escape-знаки Character Escapes

Обратная косая черта (\) в регулярных выражениях указывает, что следующий за ней символ либо является специальным знаком (как показано в следующей таблице), либо должен интерпретироваться буквально. The backslash character (\) in a regular expression indicates that the character that follows it either is a special character (as shown in the following table), or should be interpreted literally. Дополнительные сведения см. в разделе Escape-символы. For more information, see Character Escapes.

Читайте также:  Docker engine for windows

Классы символов Character Classes

Класс символов соответствует какому-либо одному набору символов. A character class matches any one of a set of characters. Классы символов состоят из языковых элементов, приведенных в следующей таблице. Character classes include the language elements listed in the following table. Дополнительные сведения см. в разделе Классы символов. For more information, see Character Classes.

Класс знаков Character class Описание Description Шаблон Pattern Число соответствий Matches
[ character_group ] [ character_group ] Соответствует любому одиночному символу, входящему в character_group. Matches any single character in character_group. По умолчанию при сопоставлении учитывается регистр. By default, the match is case-sensitive. [ae] «a» в «gray» «a» in «gray»

Для сопоставления символа точки (. To match a literal period character (. или \u002E ) перед ней нужно поставить дополнительную обратную косую черту ( \. ). or \u002E ), you must precede it with the escape character ( \. ).

a.e «ave» в «nave» «ave» in «nave»

«ate» в «water» «ate» in «water»

\p< имя > \p< name > Соответствует любому одиночному символу в общей категории Юникода или в именованном блоке, указанном в параметре имя. Matches any single character in the Unicode general category or named block specified by name. \p

Привязки Anchors

Привязки, или атомарные утверждения нулевой ширины, приводят к успеху или сбою сопоставления, в зависимости от текущей позиции в строке, но не предписывают обработчику перемещаться по строке или обрабатывать символы. Anchors, or atomic zero-width assertions, cause a match to succeed or fail depending on the current position in the string, but they do not cause the engine to advance through the string or consume characters. Метасимволы, приведенные в следующей таблице, являются привязками. The metacharacters listed in the following table are anchors. Дополнительные сведения см. в разделе Привязки. For more information, see Anchors.

Конструкции группирования Grouping Constructs

Конструкции группирования отображают части выражений регулярных выражений и обычно захватывают части строки входной строки. Grouping constructs delineate subexpressions of a regular expression and typically capture substrings of an input string. Конструкции группирования состоят из языковых элементов, приведенных в следующей таблице. Grouping constructs include the language elements listed in the following table. Для получения дополнительной информации см. Конструкции группирования. For more information, see Grouping Constructs.

Квантификаторы Quantifiers

Квантор указывает количество вхождений предшествующего элемента (знака, группы или класса знаков), которое должно присутствовать во входной строке, чтобы было зафиксировано соответствие. A quantifier specifies how many instances of the previous element (which can be a character, a group, or a character class) must be present in the input string for a match to occur. Кванторы состоят из языковых элементов, приведенных в следующей таблице. Quantifiers include the language elements listed in the following table. Для получения дополнительной информации см. Квантификаторы. For more information, see Quantifiers.

Конструкции обратных ссылок Backreference Constructs

Конструкция обратных ссылок Backreference construct Описание Description Шаблон Pattern Число соответствий Matches
\ число \ number Обратная ссылка. Backreference. Соответствует значению нумерованной части выражения. Matches the value of a numbered subexpression. (\w)\1 «ee» в «seek» «ee» in «seek»
\k имя > \k name > Именованная обратная ссылка. Named backreference. Соответствует значению именованного выражения. Matches the value of a named expression. (? \w)\k «ee» в «seek» «ee» in «seek»

Конструкции чередования Alternation Constructs

Конструкции изменения модифицируют регулярное выражение, включая сопоставление по принципу «либо-либо». Alternation constructs modify a regular expression to enable either/or matching. Такие конструкции состоят из языковых элементов, приведенных в следующей таблице. These constructs include the language elements listed in the following table. Дополнительные сведения см. в разделе Конструкции чередования. For more information, see Alternation Constructs.

Подстановки Substitutions

Подстановки — это языковые элементы регулярных выражений, которые поддерживаются в шаблонах замены. Substitutions are regular expression language elements that are supported in replacement patterns. Для получения дополнительной информации см. Подстановки. For more information, see Substitutions. Приведенные в следующей таблице метасимволы являются атомарными утверждениями нулевой ширины. The metacharacters listed in the following table are atomic zero-width assertions.

Параметры регулярных выражений Regular Expression Options

Можно определить параметры, управляющие интерпретацией шаблона регулярного выражения обработчиком регулярных выражений. You can specify options that control how the regular expression engine interprets a regular expression pattern. Многие из этих параметров можно указать в шаблоне регулярного выражения либо в виде одной или нескольких констант RegexOptions. Many of these options can be specified either inline (in the regular expression pattern) or as one or more RegexOptions constants. Этот краткий справочник перечисляет только встраиваемые параметры. This quick reference lists only inline options. Дополнительные сведения о встроенных параметрах и параметрах RegexOptions см. в статье Параметры регулярных выражений. For more information about inline and RegexOptions options, see the article Regular Expression Options.

Встроенный параметр можно задать двумя способами: You can specify an inline option in two ways:

Прочие конструкции Miscellaneous Constructs

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector