Ricordanza
8/19/2014 - 1:23 AM

PowerShellでtailもどき

PowerShellでtailもどき

■PowerShell version 3
Get-Content 監視したいファイル -wait -tail 0

■PowerShell version 2
Get-Content 監視したいファイル -wait

■Grepしたい場合
Get-Content <監視したいファイル> -wait | <select-string 監視したいキーワード>

■PowerShellのバージョン確認
Get-Host | Select-Object Version

○ポイント
-wait は新しい行が追加されるまで待ち合せることを意味しています。
注意していただきたいのは、その後の -tail です。このパラメタは Windows PowerShell 3.0 からサポートされたものです。
以前は  Get-Content .\FinaName.log -wait などとやると、テキストファイルをいったん全部読み込んでから
-wait 処理が始まるため、巨大なファイルを扱う場合には待ち時間が異常に長いという問題がありました。

しかし、-tail パラメタのサポートにより、「最後の○行だけ読み込む」という指定ができるようになったのです。
もちろん、 -tail  0  は「0行読み込む」という意味なので、何も読み込まずにいきなり -wait 処理が始まります。