ファイルの最後の行を連続して印刷する方法一つ端末に行がありますか?
以下はうまくいきますが、非常にパフォーマンスが良いです。
while true; do tail -1 /tmp/somelog | tr "\012" "\015"; done
答え1
tail
-f
追加コンテンツ用にファイルをポーリングする()オプションがすでにあります--follow
。ヒントは、行末の置換を実行するためにパイプを追加するときに出力がバッファリングされるのを防ぐことです。
tail -n1 -f /tmp/somelog | stdbuf -o0 tr '\n' '\r'
バッファリングの問題については、例をご覧ください。パイプテール -f から awk
答え2
使用watch
:
watch -t -n0.2 tail -n 1 /var/log/apache2/access.log
- タイトルを閉じないでください。
-n はリフレッシュ間隔です。