Использование команды Findstr
Команда «Найти» обычно подходит для большинства ваших нужд (см. Совет под названием link: / windows-Using_the_Find_Command [Использование команды поиска]
), но есть также команда «Findstr», которая более эффективна для тех времен когда вам нужно найти строки при определенных обстоятельствах. В простейшей форме Findstr выглядит как Find:
C:\> FINDSTR "document" Barry?.tmp
Findstr принимает на несколько переключателей больше, чем Find, и вы можете увидеть полный список, набрав следующее:
C:\> FINDSTR /?
Первое отличие, которое вы заметите между выводом Find vs.
Findstr заключается в том, что последний добавляет к каждой найденной строке имя файла, в котором она находится: (См. Рисунок 1.)
Рисунок 1. Findstr отображает имена файлов в строке с найденной строкой.
В Findstr доступно более десятка переключателей, но вместо того, чтобы перебирать их все, я просто расскажу вам о некоторых из наиболее важных (imo) функций, доступных по сравнению с командой Find. Первое, что я упомяну, это то, что вы можете искать несколько строк одновременно. Если искомая строка содержит пробелы, Findstr предположит, что вы хотите найти строку1 или строку2 или строку3 и т. Д. Например, если вы хотите найти все строки, содержащие либо «документ», либо «текст», вы просто разделяете слова с таким пробелом:
(См. Рис. 2.)
Рисунок 2. Одновременный поиск двух строк.
Еще одна приятная особенность — Findstr может искать файлы в подкаталогах.
Допустим, у меня есть Barry1.tmp в моем каталоге \ Temp и Barry2.tmp в моем каталоге \ Temp \ Temp2. Из каталога \ Temp я могу использовать «/ S»
переключатель, чтобы указать Findstr поиск в подкаталогах. Выглядит это так:
(См. Рис. 3.)
Рисунок 3. Использование / S для поиска в подкаталогах.
Я мог бы показать вам гораздо больше функциональных возможностей, но последний действительно заслуживает особого внимания. Это концепция поиска с использованием регулярных выражений. «Введение в регулярные выражения» рассматривается в другом совете, но я хочу показать вам, как регулярное выражение можно использовать в Findstr.
Допустим, вы хотите найти слово «документ», но только в тех случаях, когда после них стоит знак препинания, например запятая или точка. Регулярное выражение для этого типа поиска — «документ [,.]». Вы указываете Findstr, что ваша строка поиска использует регулярное выражение, указав переключатель «/ R», и давайте добавим переключатель «/ N», чтобы мы увидели номера строк. В итоге вы получите следующее: (См. Рисунок 4.)
Рисунок 4. Поиск с использованием регулярного выражения.
У Findstr есть еще кое-что, но я надеюсь, что я достаточно разжил ваш аппетит, чтобы вы начали использовать его, когда вам нужно будет выполнить какой-то необычный поиск строк в файлах.
Этот совет (13505) применим к Windows 7, 8 и 10.