Findstr: Exemplos e dicas usando esta ferramenta Windows CMD útil

Para os não iniciados, uma ferramenta de busca de padrões como findstr pode parecer inútil. Mas ao lidar com arquivos de log gerados pelo sistema ou saídas de linha de comando contendo centenas de linhas de texto, findstr é apenas a ferramenta que você precisa.

Os usuários de um sistema operacional Linux já estariam familiarizados com a incrível utilidade do comando Grep , e findstr cumpre um papel semelhante no Microsoft Windows . Você pode combiná-lo com outros comandos(other commands) usando pipes ou simplesmente executá-lo diretamente para analisar vários arquivos de texto. Vamos ver como findstr funciona com alguns exemplos.

Usando o comando Findstr

A sintaxe básica é simples – findstr , Ondeé o padrão para procurar, eé o endereço do arquivo a ser pesquisado. Abra o Prompt de Comando(Command Prompt) e experimente.

findstr SFC exemplo1.txt(findstr SFC example1.txt )

Este comando encontrará e exibirá todas as linhas que contêm a string de pesquisa SFC . Observe que, por padrão, findstr diferencia maiúsculas de minúsculas, portanto, nenhuma menção a SFC será correspondida.

Parâmetros

Você pode personalizar ainda mais como findstr funciona incluindo parâmetros opcionais. Opções como /B ou /I modificam o comportamento de findstr, impondo condições adicionais na pesquisa. Por exemplo:

findstr /I SFC example1.txt

Incluir /I como parâmetro torna a pesquisa insensível, permitindo que todas as menções do termo correspondam, independentemente de sua capitalização. Você pode encontrar a lista de todos os parâmetros de findstr nos documentos oficiais da Microsoft(official Microsoft docs) .

Padrões Opcionais

Os parâmetros não são a única maneira de personalizar findstr. Colocar o <string> entre aspas, por exemplo, permite que você especifique vários padrões, fornecendo uma correspondência se qualquer uma das strings de texto for encontrada.

findstr “SFC DISM” exemplo1.txt(findstr “SFC DISM” example1.txt )

O acima retornará linhas correspondentes contendo qualquer um dos termos. Isso o torna útil ao procurar uma menção para um item com nomes diferentes.

Expressões regulares

Findstr é capaz de pesquisar vários arquivos. Mudandopara uma expressão regular faz com que o comando procure o padrão especificado em todos os arquivos correspondentes.

findstr SFC *.txt

O uso do caractere curinga corresponde à regex a todos os arquivos de texto no diretório atual e seus subdiretórios. Os resultados também são segregados por nomes de arquivos, permitindo que você veja qual linha se originou de qual arquivo.

Tubos

Como a maioria dos comandos cmd, findstr também pode ser usado na saída de outros comandos. Basta(Just) adicionar um pipe após o final do comando de destino e invocar findstr sem um.

dir | findstr .txt

Isso executa uma pesquisa findstr na saída do comando dir, retornando a lista de arquivos que termina com .txt . Claro, este exemplo em particular é inútil na prática, pois dir já pode localizar arquivos do mesmo tipo com uma expressão regular.

Pode-se também seguir o caminho mais longo de redirecionar a saída para um arquivo de texto(redirecting the output to a text file) e, em seguida, usar findstr no arquivo de texto, mas é mais fácil cortar o intermediário.

Aplicações do Findstr no Windows

Os usos óbvios de findstr são facilmente aparentes apenas pela sintaxe. Você pode procurar arquivos de texto com uma string de texto específica ou ver se uma string específica está contida em um arquivo.

Isso, embora teoricamente útil, raramente é usado fora de casos raros. Na era dos serviços em nuvem como o Google Docs(Google Docs) , a maioria das pessoas não tem mais muitos arquivos de texto.

As aplicações reais do findstr são um pouco mais sutis e envolvem resultados mais poderosos. Aqui estão alguns dos exemplos mais interessantes.

Encontrando tipos específicos de arquivos

O comando dir já inclui a opção de pesquisar nomes de arquivos usando expressões regulares. Mas com findstr, você pode pesquisar arquivos que compartilham outros atributos, como a hora ou a data de criação.

Suponha que(Suppose) ocorreu um erro às 18h43 e você deseja localizar todos os arquivos de log criados naquele momento. Com o comando dir sozinho, você terá que filtrar manualmente os resultados ou obter todos os arquivos de log e compará-los. Usando findstr, isso se torna um comando simples.

dir | findstr 06:43

Você pode tentar o mesmo truque para encontrar arquivos criados em uma determinada data ou obter uma lista de diretórios.

dir | findstr DIR

Filtrando informações de rede(Network Information) com Netstat

Netstat é um comando útil do Windows(Windows) que fornece todas as informações sobre as conexões de rede do seu computador - informações demais, que é onde entra o findstr.

Encaminhar a saída do netstat para findstr permite procurar conexões com propriedades específicas. Por exemplo, é assim que você pode obter uma lista de todas as conexões estabelecidas.

netstat | findstr ESTABLISHED

Esse truque é útil ao diagnosticar problemas de rede. Você pode até usar findstr com um PID de aplicativo para encontrar todas as conexões abertas por um processo específico.

netstat -o | findstr 13120

Obtenção de endereços IP específicos

O comando ipconfig permite visualizar detalhes de todas as interfaces de rede dos sistemas, incluindo endereços IP. Você pode usar findstr para extrair um tipo específico de endereço IP sem ter que percorrer tudo.

ipconfig | findstr Temporary

Você pode estender esse método para obter qualquer informação do ipconfig, das máscaras de sub-rede aos endereços do gateway.

Analisando arquivos de script

Qualquer que seja a linguagem de programação em que você codifique, os arquivos de script são, em última análise, apenas texto. Isso significa que você pode usar findstr para analisar scripts e recuperar seções específicas sem vasculhar todo o código.

Digamos(Say) que queremos ver como a instrução if foi usada em um script específico. Podemos usar o seguinte comando:

findstr se script.ahk(findstr if script.ahk )

Isso não apenas exibirá as linhas usando a instrução if, mas também nos mostrará as expressões usadas. Você também pode incluir o parâmetro /N para exibir os números de linha, o que é muito útil para arquivos de script.

findstr /N if script.ahk

Vale a pena usar Findstr?

A principal dificuldade em navegar na interface de linha de comando é a quantidade de texto que é necessário filtrar. Findstr é uma ferramenta essencial para extrair informações úteis e filtrar lixo.

Como todos os comandos do terminal fornecem uma saída baseada em texto, findstr sempre pode ser usado para localizar os dados relevantes. Desde a solução de problemas de rede(troubleshooting network issues) até a localização dos arquivos corretos, cada ação se torna mais eficiente com findstr.

Mesmo fora de sua sinergia com outros comandos, findstr é útil por sua capacidade de percorrer o conteúdo de arquivos de texto. Você pode encontrar erros específicos em arquivos de log gerados por máquina ou recuperar seções de código em um script complexo.

Em suma, findstr é uma ferramenta indispensável no arsenal de qualquer usuário avançado do Windows , especialmente aquele que pretende se familiarizar com a interface de linha de comando.



About the author

Sou engenheiro de software e tenho experiência com o Microsoft Office e o navegador Chrome. Tenho conhecimento em muitos aspectos do desenvolvimento web, incluindo, mas não limitado a: HTML, CSS, JavaScript, jQuery e React. Meu interesse em trabalhar com tecnologia também significa que estou familiarizado com várias plataformas (Windows, Mac, iOS) e entendo como elas funcionam.



Related posts