comando Findstr no Windows é útil para procurar por um padrão de texto específico nos ficheiros. Sua funcionalidade é semelhante ao comando grep no Linux OS. Você pode encontrar abaixo a sintaxe de ‘findstr’ para vários casos de uso.
procura por texto / cadeia num ficheiro:
findstr pattern filename
por exemplo, para procurar a cadeia ‘Windows’ no ficheiro de texto CLItips.txt, o comando seria como abaixo.
findstr Windows CLItips.txt
Note que o comando acima procura exactamente ‘Windows’., Considera o caso por defeito. Então, se você tem uma linha que tem a palavra ‘windows’, ela não seria impressa na saída do comando acima.
ignorar o caso de texto:
você pode adicionar / I mudar para ignorar o caso na pesquisa. Então, se você executar ‘ findstr Windows /I clips.txt’, ele faz a correspondência de padrões sem distinção de maiúsculas.
Procure por qualquer uma das palavras indicadas
Se quiser imprimir as linhas com qualquer um dos conjuntos de palavras indicados, poderá incluir a lista de palavras entre aspas no comando findstr.,
findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt
Este comando imprimiria uma linha se tivesse a palavra ‘Apple’ ou a palavra ‘Orange’ ou ambas as palavras.
Search for pattern with multiple words
findstr /C:"word1 word2 word3..." filename
/ c indicates that the search pattern has to be matched literally.
Por exemplo, para procurar a string “Apple Ball Cat” no livro de ficheiros.txt, o comando seria como abaixo
findstr /C:"Apple Ball Cat" Book.txt
Pesquisa com Expressões Regulares
Você pode usar expressões regulares com findstr opção /R. O comando típico seria como em baixo.,
findstr /R pattern filename.txt
Aqui o padrão pode ser especificado usando expressões regulares.
exemplos:
procure pela ocorrência de todas as palavras que terminam com ‘xyz’ em um arquivo.
findstr /R *xyz filename.txt
procura por texto em todos os ficheiros numa pasta actual
pode usar caracteres especiais ‘ * ” para indicar que todos os ficheiros numa pasta devem ser procurados pelo texto indicado.
Por exemplo, para procurar por ‘windows’ em todos os arquivos no diretório atual, você pode usar o comando abaixo.,
findstr /I windows *
Para procurar todos os arquivos de texto no diretório C:\data:
findstr /I windows C:\data\*.txt
Pesquisa para várias seqüências de caracteres
Se você precisa de pesquisa para várias seqüências de caracteres, então você pode fazer isso com o abaixo script em lotes.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
‘pattern.txt ‘ é o ficheiro com as cadeias de caracteres(uma por linha) que precisam de ser procuradas. O comando acima procura apenas ficheiros de texto. Você pode personalizar o comando findstr no script para pesquisar em arquivos com outras extensões. A adição da opção ‘/ M ‘ ao comando faz com que imprimam apenas os nomes dos ficheiros.,
Print only the lines where the given string is at the beginning of the line.
você pode adicionar / B switch para indicar que a string especificada deve estar no início da linha.
findstr /B /C:windows CLItips.txt
Print only the lines where the Giv string is at the end of the line
findstr /E /C:windows CLItips.txt
Print line numbers for all the matched lines.
pode adicionar /N ao comando findstr para imprimir os números das linhas correspondentes.
imprime apenas os nomes dos ficheiros
finstr /M /C:"pattern" *.log
Este comando procura o padrão em todos *.,regista os ficheiros, e depois imprime apenas os nomes dos ficheiros com o padrão. Mesmo que um arquivo tenha múltiplas ocorrências do padrão, ele é impresso apenas uma vez pelo findstr.