Otomatik olarak kaydırılan, zaman gecikmeli bir Unix çağrı cihazı komutu var mı?


10

Her komut arasında otomatik, 500ms gecikmeli bir slayt gösterisi gibi, büyük komutların çıktısının yavaşladığını görmek istiyorum. Bunu başarmanın en basit yolu nedir?

Yanıtlar:


8

Kullanarak basit bir çözüm bash:

function scroll
{
    while read -r ; do echo "$REPLY" ; sleep ${1:-0.5} ; done
}

kullanım

long_command | scroll [delay]

delayisteğe bağlıdır ve varsayılan değerdir 0.5.

Ctrl+ İle çıkC


1
Düzenlememin neden reddedildiğini bilmiyorum, ancak echo /** long_command (örneğin catbir dosya) çıktısında sıkışmış ve çift tırnak koymuyorsanız terminal oturumunuzu sular altında bırakacağınız konusunda uyarınız "$REPLY".
皞 皞

1
@ 林果 皞 onayladı ve uyarıyı kaldırdı, teşekkürler. Alıntıları en başta eklemeliydim.
cYrus

... Sistemin yalnızca 2 karakteri düzenlemesine izin vermediği için uyarıyı ekledim.
林果皞

4

1s çözünürlükle yaşayabilirseniz, bunu yapabilirsiniz tail -n +0 -f -s <seconds>.


2
' long_commandDen elde edilen çıktı muhtemelen bir saniyeden daha az bir sürede üretilir, bu yüzden bütünlüğünün yoklanmasında hiçbir anlam yoktur <interval>ve gerçekten benim için işe yaramaz.
cYrus

2

Bunu vimbaşarmak için uygun bir eşleme ile kullanabilirsiniz :

vim -c 'map <S-f20> L:redraw<cr>:sleep 500m<cr><C-d><S-f20>' -c 'execute "normal \<S-f20>"' -

Ctrl-dbir kerede yarım sayfa kaydırır, bir kerede 10j10 satır kaydırmak için ile değiştirin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.