Windows で tail
Linuxでよく使うTailコマンドをWindowsでやるにはどうしたらよいか調べところ、PowerShellなら簡単にできることが判明しましたのでメモします。
PowerShellを起動して、普通にtailすると、
PS > tail -f .\hoge.txt
tail : 用語 'tail' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ tail -f .\hoge.txt
+ ~~~~
+ CategoryInfo : ObjectNotFound: (tail:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
みたいにエラーになってうまくできません。
以下のようにするとうまくできます。
Get-Content -Path ログファイル -Wait -Tail 5
ログファイルに変更があればコンソールが更新されます。
最後の「5」は表示行数です。
Linuxと違って表示行数の省略は不可なので必須になります。
文字化けする場合はEncodeオプションをつけます。
Get-Content -Path ログファイル -Wait -Encoding UTF8 -Tail 5
Get-Content が うざいなら、エイリアスとして cat が使えますので、
cat -Path ログファイル -Wait -Encoding UTF8 -Tail 5
とすれば同じことになります。
以上!