Команда «Найти» обычно подходит для большинства ваших нужд (см. совет, озаглавленный «Использование команды поиска»), но есть также команда «Findstr», которая более эффективна в тех случаях, когда вам нужно найти струны при определенных обстоятельствах. В простейшей форме Findstr выглядит как Find:
C: > FINDSTR "документ" Barry? .Tmp
Findstr принимает на несколько переключателей больше, чем Find, и вы можно просмотреть полный список, набрав следующее:
C: > FINDSTR/?
Первое отличие, которое вы заметите между выводом Find и 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 – это еще не все, но я надеюсь, что я достаточно разжил ваш аппетит, чтобы вы начали использовать его, когда вам нужно что-то сделать. навороченный поиск строк в файлах.