У меня есть список ключевых слов, по которым я хочу искать, например, FOO, BAR, BAZ
, и большое количество файлов различного размера, которые могут включать одно из вышеупомянутых ключевых слов в самом начале файла. Такой файл может выглядеть так:
AAA:+.? 'BBB+1234567890000+9999999999999+FOO'CCC+...
Это сегменты, разделенные '
. Ключевые слова, которые я хочу найти, могут встречаться только во втором сегменте (часть BBB
), поэтому я мог либо разделить их на '
, либо просто выполнить поиск в первых 100 байтах или около того. Это не обязательно должно быть точным, и ложные срабатывания тоже не вызывают беспокойства.
Я ограничен использованием инструментов, доступных на Windows по умолчанию, поэтому я предположил, что Powershell - лучший способ go . Я мог бы выполнить полнотекстовый поиск, используя Select-String , но, учитывая, что многие файлы имеют очень большой размер, для обеспечения приемлемой производительности я не хочу, чтобы читался весь файл.
Как мне найти все файлы, которые содержат любое из заданного набора ключевых слов в начале, не выполняя полнотекстовый поиск по всему содержимому каждого файла?