Cansado de usar as mesmas ferramentas de busca em seu computador, como o grep? Por que se contentar? Muitos equivalentes ao grep no Windows podem ajudar a buscar exatamente o que você procura.
Neste tutorial, você aprenderá como esses equivalentes ao grep tornam possível buscar arquivos mais rapidamente e encontrar as informações que você precisa num piscar de olhos.
Fique ligado e faça amizade com ferramentas de busca poderosas!
Pré-requisitos
Este tutorial inclui demonstrações práticas. Para acompanhar, certifique-se de ter o seguinte em mãos:
- A Window machine – This tutorial uses Windows 10 PC, but any version of Windows will suffice.
- PowerShell – Este tutorial utiliza o PowerShell 7.2.8.
- scoop – Este tutorial utiliza o scoop v0.3.1.
Localizando Sequências Específicas de Texto (findstr
) em Arquivos
Ser capaz de identificar instantaneamente sequências específicas de texto (com padrões particulares) em um arquivo ajuda bastante no seu fluxo de trabalho. Mas como fazer isso? Recorra ao utilitário de linha de comando findstr
no Windows, que permite buscar sequências específicas de texto em arquivos.
findstr
é frequentemente utilizado como equivalente ao grep no Windows, pois possui funcionalidades semelhantes ao comando Unix grep
. Quais são os benefícios de usar findstr
? Um exemplo é que ele está incorporado a qualquer sistema operacional (SO) Windows – nenhum software adicional é necessário.
Para encontrar cadeias de caracteres específicas em um arquivo, siga estas etapas:
Crie um arquivo de texto com seu editor de texto preferido, nomeie-o notes.txt e insira o conteúdo abaixo no arquivo.
Hello, world. This is an example of a text file.
I am writing some notes in this file.
Here are some keywords to search for: apple banana cherry.
Agora, abra o PowerShell como administrador e execute o comando abaixo para procurar cadeias de caracteres (findstr
) no padrão de pesquisa (”apple"
) no arquivo notes.txt
.
? O
findstr
possui muitos parâmetros que podem ser usados para personalizar a pesquisa. Neste tutorial, você explorará alguns dos parâmetros mais valiosos ao procurar cadeias de caracteres em arquivos.

? Talvez você esteja procurando cadeias de caracteres em vários arquivos. Se for o caso, especifique os caminhos dos arquivos separados por espaços, como o exemplo abaixo:
findstr parâmetros "padrão" "C:\\caminho\\para\\arquivo1.txt" "C:\\caminho\\para\\arquivo2.txt"
Encontrar Cadeias de Caracteres que Correspondam a um Padrão Específico ou Literal
Quando se trabalha com arquivos de configuração, encontrar strings em um padrão específico ou literal é crucial, especialmente durante a depuração. Felizmente, o parâmetro /c
indica ao comando findstr
para buscar strings literais que correspondam a um padrão especificado, incluindo espaços ou caracteres especiais.
Acrescentar o parâmetro /c
ao comando findstr
é útil em situações como:
- Pesquisar por uma frase específica ou conjunto de palavras que aparecem em uma ordem particular.
- Procurar por uma string que contenha espaços ou caracteres especiais.
Para ver como o parâmetro /c
funciona na prática, siga estes passos:
1. Execute o comando findstr
abaixo para buscar a string literal (/c
) banana cherry
no arquivo *notes.txt*
.
No resultado abaixo, o comando findstr
retorna apenas as linhas que contêm a string exata banana cherry
com um espaço entre as duas palavras.
Lembre-se de que o parâmetro /c
diferencia maiúsculas de minúsculas, então o comando findstr
retorna apenas a string com a mesma caixa de letras que você especificou. Se alguma das strings no arquivo notes.txt não coincidir com o padrão especificado, o comando findstr
retorna uma saída em branco.

2. Em seguida, adicione a seguinte linha ao arquivo notes.txt e salve as alterações.
Neste ponto, deverá haver duas linhas no seu arquivo notes.txt com a cadeia “hello”. Uma toda em minúsculas (hello, world.
), e outra com a letra ‘H’ em maiúscula (Hello, world.
).
hello, world.
3. Agora, execute cada comando abaixo para buscar pela cadeia literal hello, world
ou Hello, world
no arquivo notes.txt
.
Observe abaixo que, independentemente de ter duas linhas no arquivo notes.txt que contêm a cadeia ‘hello, world’, você obterá apenas uma linha de string.
O parâmetro /c
indica ao comando findstr
para imprimir as linhas que contêm a cadeia ‘hello, world’ com letras minúsculas ou maiúsculas.

4. Por fim, execute o comando findstr
abaixo para buscar por strings que contenham o padrão hello
no arquivo notes.txt
, ignorando (/i
) a diferenciação de maiúsculas.
Buscas sensíveis a maiúsculas e minúsculas funcionam bem se você já souber a caixa de letras real da string que está procurando. Mas se desejar ver todas as linhas de strings que correspondem a um padrão, independentemente da caixa de letras, o parâmetro /i
resolverá.

Localizando Strings Específicas em Arquivos e Diretórios
Além de procurar por strings específicas em arquivos, o comando findstr
permite procurar por strings correspondentes dentro de arquivos, diretórios e subdiretórios.
Suponha que você deseje encontrar todos os arquivos em um diretório que tenham uma palavra específica em seu conteúdo. Se assim for, deixe o parâmetro /s
fazer o trabalho sujo.
Execute o comando abaixo para pesquisar (/s
) no diretório atual e em seus subdiretórios (/s
) por todos os arquivos (*.*
) que contenham a palavra sistema
, ignorando o caso das letras (-i
).
Tenha em mente que este comando apenas procura por arquivos que contenham a palavra sistema
como uma palavra inteira e não aqueles que são parte de palavras maiores, como sistemático ou sistematizar.
A saída abaixo mostra uma lista de nomes de arquivos, um por linha, com o nome de cada arquivo que contém a palavra ‘sistema’.

Pesquisando Strings Usando o cmdlet Select-String
Até agora, você viu que o comando findstr
funciona excelente na busca de strings, mas o cmdlet Select-String
não deve ser deixado de lado. Este cmdlet é equivalente ao grep
no Windows, permitindo que você pesquise por padrões de texto específicos em arquivos e strings.
O cmdlet Select-String
foi projetado para eficiência, permitindo que você pesquise rapidamente grandes quantidades de texto e suporta expressões regulares (regexes). Por sua vez, este cmdlet permite que você pesquise por padrões ainda mais complexos do que o findstr
.
Para ver como funciona o cmdlet Select-String
, siga estes passos:
1. Abra primeiro o arquivo notes.txt, adicione as seguintes linhas e salve as alterações.
A adição dessas linhas é uma preparação para demonstrar como o cmdlet Select-String
lida com maiúsculas e minúsculas nos próximos passos.
Apple
APPLE
ApplE
2. Em seguida, execute o seguinte comando para buscar a string apple
no arquivo notes.txt
.
Abaixo, várias linhas contêm a string ‘apple’ mas em diferentes casos de letras, uma vez que o cmdlet Select-String
é insensível a maiúsculas e minúsculas. Mas a vantagem é que você pode facilmente identificar e verificar as strings correspondentes, pois elas estão destacadas.

? Talvez você queira usar correspondência simples de strings em vez de correspondência de regex. Se sim, adicione o parâmetro
-SimpleMatch
, conforme mostrado abaixo, e nunca se preocupe com a sintaxe de regex e caracteres especiais.Select-String 'APPLE' "C:\\myfiles\\notes.txt" -SimpleMatch
3. Agora, execute o comando abaixo para buscar APPLE
no arquivo notes.txt
com a sensibilidade a maiúsculas e minúsculas ativada (-CaseSensitive
). O parâmetro -CaseSensitive
é útil para precisão na busca.
Como você pode ver abaixo, a única correspondência encontrada tem exatamente o caso de letra que você especificou (APPLE).

4. Por último, execute o comando abaixo usando regex para buscar o padrão '\?'
(um ponto de interrogação) em todos os arquivos de texto (*.txt
) no diretório $PSHOME\en-US
. Um regex permite buscar por padrões mais complexos.
Se o conteúdo de um arquivo tiver um ponto de interrogação, o comando retorna o caminho completo do arquivo para o console, como mostrado abaixo.

Usando o ripgrep (rg) como equivalente ao grep no Windows
O rg é uma utilidade de linha de comando de código aberto projetada para pesquisar rapidamente através de arquivos usando padrões regex. Como outras utilidades de linha de comando, o rg possui muitas opções e recursos para personalizar suas pesquisas.
Mas ao contrário do findstr
e do cmdlet Select-String
, o rg não está instalado por padrão no seu sistema operacional Windows.
Para usar o rg como seu equivalente ao grep no Windows:
1. Execute o comando scoop
abaixo para instalar
o ripgrep
no seu sistema. scoop install ripgrep

2. Em seguida, execute o seguinte comando rg
para verificar a versão instalada do rg.
Como mostrado abaixo, você verá o número da versão do rg instalado. Neste ponto, você já pode executar comandos rg
para procurar por strings.

3. Execute o comando rg
abaixo para procurar a string apple
no arquivo notes.txt
.
A saída exibe qualquer linha no arquivo notes.txt que contenha a string apple, como mostrado abaixo.
Observe que a saída é semelhante à saída do cmdlet Select-String
. Mas, em vez de destacar, o rg
altera a cor da string correspondente e do número da linha para rápida distinção.

4. Agora, execute o seguinte comando usando regex para procurar por strings no arquivo notes.txt
.
O regex abaixo utiliza limites de palavra (\b
) e indica ao rg
para procurar linhas de strings que contenham uma palavra que começa com ‘s’ e termina com ‘e’ (s\w+e
).

Filtrar Pesquisas por Tipo de Arquivo Específico
Talvez você tenha preferência por qual diretório o arquivo que está procurando está, mas não pelo nome do arquivo. Em tais casos, buscar pelo conteúdo do arquivo enquanto filtra a pesquisa pelo tipo de arquivo pode ser a melhor opção.
Filtrar a pesquisa para tipos de arquivo específicos pode ser útil quando você está interessado apenas em procurar por tipos específicos de arquivos. Ou quando deseja excluir certos tipos de arquivos da pesquisa.
Para filtrar a pesquisa para tipos de arquivo específicos, a opção --type
resolverá, conforme abaixo:
1. Execute o seguinte comando rg
para procurar a string apple
em todos os arquivos de texto (--type txt
) no diretório C:\\myfiles
.
A opção --type
recebe um tipo de arquivo como argumento, indicando ao comando rg
para buscar apenas arquivos que correspondam ao tipo de arquivo especificado.
O resultado abaixo mostra a linha contendo a string ‘apple‘ e o nome do arquivo associado (notes.txt).

2. Em seguida, crie um arquivo XML chamado notes.xml e preencha com o código abaixo. Este arquivo XML é apenas uma preparação para demonstrar como as pesquisas com caracteres coringa funcionam.
3. Agora, execute o comando abaixo para procurar a string apple
em todos os (*.
). Este comando busca apenas por arquivos txt
e xml
conforme especificado (-g
).
Por padrão, o rg
diferencia maiúsculas de minúsculas. Como resultado, a saída mostra apenas a linha que contém exatamente a string ‘apple’ e o arquivo associado.

4. Por fim, execute o seguinte comando, como fez no passo três, para buscar a string apple
em todos os arquivos (*.
) que têm a extensão txt
ou xml
. Mas desta vez, adicione a opção -i
, que instrui o rg
a ignorar maiúsculas e minúsculas.

Conclusão
Ao longo deste tutorial, você aprendeu muitos equivalentes ao comando grep no Windows para buscar strings de forma literal e usando expressões regulares. Você desbloqueou o poder desses equivalentes ao grep com uma variedade de opções e parâmetros para personalizar a busca e filtrar por tipos de arquivo específicos.
Neste ponto, você deveria se sentir confiante em depurar problemas, identificar questões e pesquisar em conjuntos grandes de arquivos de texto.
Agora, por que não colocar suas novas habilidades à prova praticando com expressões regulares e personalizando suas buscas?
Source:
https://adamtheautomator.com/grep-equivalents-in-windows/