Поиск списка строк с помощью команды «findstr»

#string #findstr

#строка #findstr

Вопрос:

Возможно ли выполнить поиск по списку строк (более 100), например, в текстовом файле, и с помощью такой команды, как findstr, определить, какие файлы содержат какие-либо из строк? Или есть лучшая альтернатива (в Windows)?

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

1. Уверен, что это возможно. Запустите findstr /? , чтобы увидеть параметры, которые вам нужно будет использовать.

Ответ №1:

Вероятно, из справки по findstr, которую я нашел:

/G:file Получает строки поиска из указанного файла (/ обозначает консоль).

и

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

итак:

 C:Temp>copy con strings.txt
test
test1
test2
^Z
    1 file(s) copied.
  

Я создал (с помощью copy con возвращает меня обратно) 3 файла test.txt test1.txt и test2.txt и разместили строки, которые у нас есть из strings.txt в соответствующие файлы, а затем выполнил эту команду:

 C:Temp>findstr /S /G:strings.txt *.txt
strings.txt:test
strings.txt:test1
strings.txt:test2
test.txt:test
test1.txt:test1
test2.txt:test2
  

Он действительно нашел их, и даже нашел все три из исходного файла strings.txt .

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

1. Спасибо, да, в моем случае не с помощью *.txt, просто *, поэтому поиск будет осуществляться по всем типам файлов