Olá,
Depois de 4 dias longe (estive viajando), voltei com uma solução para um problema interessante. Quem conhece bastante sobre Unix/Linux, deve conhecer também um comandinho simples, que mostra as últimas linhas de um arquivo, bem útil para verificar logs: o comando Tail.
No Windows, ele não existe nativamente. Temos o velho TYPE, do COMMAND e do CMD. No Powershell, você pode trabalhar com o comando Get-Content (que ganhou um apelido bem mais famoso: cat) e com o conceito de que, no Powershell, (quase) tudo é um objeto.
No link a seguir, Jeffery Hicks comenta sobre isso. Ele dá vários exemplos de como obter linhas de um arquivo com o get-content (o cat).
http://jdhitsolutions.blogspot.com/2007/02/powershell-get-content.html
Eu, concordo com tudo que ele disse. E tenho duas coisas a adicionar:
-
Para limitar o número de linhas, o cat tem um parâmetro que limita o número de linhas... não sendo necessário ler o arquivo inteiro. Isso melhora a performance do get-content com arquivos grandes
-
Para pegar somente as 5 últimas linhas, pode se usar outra estratégia. Ao invés de:
$c=get-content c:\boot.ini;$l=$c.length;$c[($l-5)..$l]
pode se usar
(cat c:\boot.ini)[-5..-1]
É mais simples. Se não me engano, essa notação (em negrito) vem do Ruby, Python e Perl. A primeira linguagem que implementou isso eu não sei... se você souber, me avise :)
Até daqui a pouco... vou postar mais coisas ainda!
Comentários
Postar um comentário
Jeffery Hicks : I have a followup on this at http://jdhitsolutions.blogspot.com/2007/02/more-fun-with-get-content.html [15/2/07 13:19 - link]