Iago Frota

Desenvolvedor Web

Freelancer

QA

Sunset Lover

Iago Frota

Desenvolvedor Web

Freelancer

QA

Sunset Lover

Postagens

[shorts] Utilizando o “GREP” no Powershell do Windows

25 de janeiro de 2024 Dicas Rápidas, Linux, Powershell
[shorts] Utilizando o “GREP” no Powershell do Windows

No Windows, o grep não está disponível por padrão, mas você pode usar comandos similares no PowerShell ou instalar ferramentas de terceiros para obter funcionalidades semelhantes ao grep.

Alguns Exemplos Funcionais

Aqui estão alguns exemplos de como você pode usar o PowerShell para buscar padrões em arquivos de texto

Procurar por um Padrão em um Arquivo:

Get-Content -Path "arquivo.txt" | Select-String -Pattern "padrão"

Procurar em Todos os Arquivos em um Diretório:

Get-ChildItem -Path "C:\caminho\para\diretorio" -Recurse | Get-Content | Select-String -Pattern "padrão"

Procurar Ignorando Maiúsculas/Minúsculas (Case-Insensitive)

Get-Content -Path "arquivo.txt" | Select-String -Pattern "padrão" -CaseSensitive

Excluir Linhas que Correspondem a um Padrão

Get-Content -Path "arquivo.txt" | Where-Object { $_ -notmatch "padrão" }

Contar o Número de Linhas que Correspondem a um Padrão

(Get-Content -Path "arquivo.txt" | Select-String -Pattern "padrão").Count

Conclusão

O comando grep é uma ferramenta poderosa e versátil usada em sistemas Unix para buscar padrões em arquivos de texto. Embora o Windows não inclua o grep por padrão, existem alternativas disponíveis. Porém, prefiro utilizar o "GREP" nativo do Windows.

Estes comandos utilizam funcionalidades nativas do PowerShell para realizar operações semelhantes ao grep. Personalize os comandos conforme necessário para atender às suas necessidades.

Taggs:
2 Comments
  • Marcelo Gomes 18:52 4 de julho de 2024 Responder

    Boa noite quero fazer um grep no powershell que busque dentro dos arquivos “(C:\ full)” por um determinado padrão.
    Conseguiu entender?

    • Iago Frota 15:15 8 de julho de 2024 Responder

      Você pode utilizar o cmdlet Select-String

      Aqui está um exemplo de como você pode fazer isso:

      Get-ChildItem -Path "C:\full" -Recurse | Select-String -Pattern "seu_padrão"

      Explicando o que cada comando faz:

      Get-ChildItem -Path "C:\full" -Recurse: Lista todos os arquivos e diretórios dentro do caminho especificado (C:\full), incluindo subdiretórios, devido ao parâmetro -Recurse.

      Select-String -Pattern "seu_padrão": Pesquisa dentro dos arquivos listados pelo Get-ChildItem pelo padrão especificado. Substitua “seu_padrão” pelo texto ou expressão regular que você deseja buscar.

      Se você deseja apenas os nomes dos arquivos que contêm o padrão, você pode modificar o comando para:

      Get-ChildItem -Path "C:\full" -Recurse | Select-String -Pattern "seu_padrão" | Select-Object -Unique Path

      Isso retornará uma lista única dos caminhos dos arquivos que contêm o padrão.

      Teste e me fale o que achou

Write a comment

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.