Привет, я просмотрел несколько старых сообщений, но не нашел точного решения. так что отправляем новый вопрос.
Мне нужна одна команда Windows для поиска двух слов с использованием условия И. Будет ли findstr работать с комбинацией слов? Я ищу WORD1, за которым следует WORD2. (не в обратном направлении. word2, за которым следует word1 или отдельное слово).
Ниже приводится пример содержимого файла:
TABLEA
insert
INSERT TABLEA
update tableA
upsert tableb
insert into tableA
update staging.tableA
insert into staging.tableA
-- insert into staging.tableA
test insert staging.tableA
tableA insert
tableA select insert
Желаемый результат поиска: печатает имя файла когда совпадение найдено. Например, word1 = insert и word2 = tableA. ниже приведены примеры результатов поиска
INSERT TABLEA
insert into tableA
insert into staging.tableA
-- insert into staging.tableA
test insert staging.tableA
И у меня есть тысячи файлов для поиска, и они огромны по размеру. Мне нужны имена файлов, которые содержат совпадение двух слов.
Я пробовал использовать команду findstr. но не удалось. Есть ли эквивалентная команда для использования в пакетном файле?
Заранее спасибо.
Учитывая ваш пример, я смог добиться ожидаемого результата:
type sample.txt | FINDSTR /I "insert.*.tableA"
Предполагая:
sample.txt
содержит образец содержимого файла, который вы предоставилиAND
порядок ("insert.*.tableA"
) /I
) чтобы соответствовать INSERT TABLEA
Я не тестировал все варианты использования, но это должно стать хорошим началом для вас.
С этого момента вам нужно проанализировать некоторые файлы правил и передать переменные в команду выше, это другая история, но не findstr
вопрос.