Como replicar o comportamento da cauda do Linux no PowerShell?
Estou executando um aplicativo que grava um arquivo de log ( error.log
) e gostaria de ver as últimas linhas dele, além de manter as alterações de atualização do console.
Então, existe um equivalente a algo como tail -f filename
no PowerShell?
windows
windows-8
powershell
jsalonen
fonte
fonte
Get-Content -Tail
Respostas:
No PowerShell 3, o cmdlet
Get-Content
(aliasgc
) suporta-Tail
e-Wait
parâmetros quando usado em um sistema de arquivos. Procure com issohelp gc
.fonte
O equivalente nativo do PS, já que o PSv3 é
o que também é rápido. No PSv2 e abaixo, você precisa se contentar com
mas isso tem várias ressalvas. Ele não pode bloquear e aguardar novas alterações no arquivo, por exemplo, e também não é muito eficiente, pois precisa ler o arquivo desde o início completamente antes de poder mostrar as últimas linhas.
O PSCX possui um
Get-FileTail
comando que possui um-Wait
parâmetro:Get-FileTail
é aliasadotail
por padrão se você instalar o PSCX.fonte
tail
funciona exatamente como deveria agora. Isso é ótimo, obrigado!Get-Content... -last n
extremamente eficiente em um arquivo de 1,7 GB . Consegui ler a cauda sem demora perceptível em uma máquina bastante lenta.