Windows findstr com condição AND

1

Oi eu procurei alguns posts antigos, mas não encontrei a solução exata. então postando uma nova pergunta.

Eu preciso de um único comando do windows para pesquisar duas palavras usando a condição AND. Will findstr trabalha para combinação de palavras? estou procurando por WORD1 seguido por WORD2. (não no sentido inverso. word2 seguido por word1 ou palavra única).

Abaixo, um é o conteúdo do arquivo de amostra:

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

Desired Search Output: prints the filename when match is found. fr example, word1=insert and word2=tableA. below are the sample search results

INSERT TABLEA
insert into tableA
insert into staging.tableA
-- insert into staging.tableA
test insert staging.tableA

E eu tenho milhares de arquivos para pesquisar e grandes em tamanho. Eu preciso de nomes de arquivos que contém a correspondência de duas palavras.

Eu tentei usar o comando findstr. mas não conseguiu.Há algum comando equivalente para usar em arquivo de lote?

Obrigado antecipadamente.

    
por srinath 20.07.2016 / 02:51

1 resposta

2

Dado o seu exemplo, consegui produzir o resultado esperado:

type sample.txt | FINDSTR /I "insert.*.tableA"

Assumindo:

  • sample.txt contém o conteúdo do arquivo de amostra fornecido por você
  • word1 = insert e word2 = tableA na ordem correta de AND ( "insert.*.tableA" )
  • Caso insensível
  • ( /I ) para corresponder a INSERT TABLEA

Eu não testei todos os casos de uso, mas deve ser um bom começo para você melhorar.

A partir de agora, cabe a você analisar alguns arquivos de regras e passar variáveis para o comando acima, isso é outra história, mas não é um problema findstr .

    
por 20.07.2016 / 03:29