Estou procurando o PowerShell equivalente a grep --file=filename
. Se você não souber grep
, o nome do arquivo é um arquivo de texto em que cada linha possui um padrão de expressão regular que você deseja corresponder.
Talvez esteja faltando algo óbvio, mas Select-String
não parece ter essa opção.
powershell
grep
Fordio
fonte
fonte
fonte
findstr
funcionagrep
no Linux.Select-String
é ótimo para trabalhar com objetos, mas às vezes você quer apenas combinar com as strings.findstr
não é nativo do PowerShell, mas do prompt de comando.Eu não estou familiarizado com grep, mas com Select-String você pode fazer:
Você também pode fazer isso com Get-Content:
fonte
dir *.cs -Recurse | sls "TODO" | select -Unique "Path"
. Thx pelo excelente ponteiro.Então eu encontrei uma resposta muito boa neste link: https://www.thomasmaurer.ch/2011/03/powershell-search-for-string-or-grep-for-powershell/
Mas essencialmente é:
Isso fornece uma pesquisa de arquivo de diretório (* ou você pode apenas especificar um arquivo) e uma pesquisa de conteúdo de arquivo em uma linha do PowerShell, muito semelhante ao grep. A saída será semelhante a:
fonte
Esta pergunta já tem uma resposta, mas eu só quero acrescentar que no Windows existe o Windows Subsystem for Linux WSL .
Portanto, por exemplo, se você quiser verificar se possui um serviço chamado Elasicsearch que está em status em execução, pode executar algo como o trecho abaixo no PowerShell
net start | grep Elasticsearch
fonte
Eu tive o mesmo problema ao tentar encontrar texto em arquivos com o PowerShell. Usei o seguinte - para ficar o mais próximo possível do ambiente Linux.
Espero que isso ajude alguém:
PowerShell:
Explicação:
Sim, isso também funciona:
fonte
Corrigir. O PowerShell não é um clone do conjunto de ferramentas do * nix shells.
No entanto, não é difícil criar algo parecido com você:
fonte
Select-String -Pattern somestring
é muito mais limpoTalvez?
fonte