Следующее решение не очень красиво - оно использует escape-последовательность ANSI - но я думаю, что оно примерно соответствует тому, что вы хотите, без использования watch
:
while true; do
tail -5 /tmp/dump | cut -c1-80
printf '\e[5A'
sleep 1
done
Последовательность \e[5A
означает увеличениепять строк.5
можно заменить на любое число, которое вы захотите.
Тем не менее, вам лучше использовать библиотеку, похожую на проклятья, для подобных вещей.Использование необработанных escape-последовательностей ANSI не переносимо.tput
доступно в Linux и Cygwin.Возможность cuu
перемещается вверх по линиям.
while true; do
tail -5 /tmp/dump | cut -c1-80
tput cuu 5
sleep 1
done