Windowsでもtail -f がしたい!
EpisodeⅠ「邂逅の…tail -f」
プログラミングの授業でtail -fコマンドを実行しろと指示されるも、はて動かない。どうしたものかとなる。そもそもtail -fはUNIX系のコマンドでWindowsでは動かないんですね。
なぜtail -fコマンドを実行させるのかというと、①一回テキストファイルに出力する②それをtail -fを用いてターミナル等に表示させる。
そもそも先生の異常なまでの tail -f 愛のせいで、非常に虚無なことをさせるのが良くないとおもう。
当時の自分のPCはただのWindows。Cygwinとか今となってはUbuntu on Bash on Windowsとか使えば多分tail -fできるけど*1。 ということでWindowsでtail -f的なことができないか探してみました。
Windowsでもtail -f はできる
調べてみたら死ぬほどページがヒットしたから、書く必要もないかもしれないけれど……Windows10(64bit)環境だからね!
例えば、
ここでPowerShellの初体験です。[Win]+Rだったり、タスクバーの検索だったりからpowershellと検索すると出てきます。以下手順。
PowerShellのバージョン確認
Windows PowerShell PS> $PSVersionTable Name Value ---- ----- PSVersion 5.1.16299.248 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.16299.248 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
ここのPSVersionのValueが3.0以上だったらいいらしい。Windows10だとたぶん5.0以上だから大丈夫
以下のコマンドを実行
PS > Get-Content -Path [ファイル名] -Wait -Tail [読み込む行数]
でもこれ正直めんどくさい……でも大丈夫です。 Get-Content
にはエイリアス*2で、cat
type
gc
が登録されているので、以下でOK(少なくとも自分は満足できる感じに動いた)
PS > cat [ファイル名] -wait
これなら楽でしょう?
参考は以下など
どういうことなんだろ
Get-Content
コマンドレットはテキストファイルの読み取りのコマンドらしい。
-Wait
では一秒ごとに更新し、 -Tail hoge
は最後からhoge行読み取る。でも結局更新してるので全部読み取る?
PowerShellとかもっと詳しくなると面白くなりそうとは思ったけど、知識不足過ぎた。いちおうこれで切り抜けられたので、誰かの参考になればいいとは思ってる。
文章って書くの難しいね!というのが感想ですね