क्या स्वचालित रूप से स्क्रॉल करना, समय-विलंबित यूनिक्स पेजर कमांड है?


10

मैं बड़े कमांड के आउटपुट को धीमा करना चाहता हूं, जैसे कि स्लाइड के साथ जैसे कि स्वचालित, प्रत्येक स्क्रॉल के बीच 500ms देरी। इसे प्राप्त करने का सबसे सरल तरीका क्या है?

जवाबों:


8

एक सरल समाधान का उपयोग कर bash:

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

प्रयोग

long_command | scroll [delay]

delayवैकल्पिक और करने के लिए चूक है 0.5

Ctrl+ के साथ बाहर निकलेंC


1
मुझे नहीं पता कि मेरे संपादन को अस्वीकार क्यों किया गया, लेकिन चेतावनी दी जाए कि echo /** long_command (उदाहरण के लिए catएक फ़ाइल) के आपके आउटपुट में यदि आप दोहरे उद्धरण चिह्नों को नहीं रखते हैं तो आपके टर्मिनल सत्र को रोक दिया जाएगा "$REPLY"
林果 林果

1
@ @ 皞 ने स्वीकृति दी और चेतावनी को हटा दिया, धन्यवाद। मुझे पहले स्थान पर उद्धरण जोड़ना चाहिए था।
cYrus

... मैंने चेतावनी सिर्फ इसलिए जोड़ दी क्योंकि सिस्टम केवल 2 वर्णों को संपादित करने की अनुमति नहीं देता है।
林果 林果

4

यदि आप 1s रिज़ॉल्यूशन के साथ रह सकते हैं, तो आप कर सकते हैं tail -n +0 -f -s <seconds>


2
से उत्पादन long_commandसंभवत: एक सेकंड से भी कम समय में उत्पन्न होता है, इसलिए इसकी पूर्णता के लिए मतदान में कोई <interval>मतलब नहीं है और वास्तव में मेरे लिए काम नहीं करता है।
cYrus

2

आप vimइसे प्राप्त करने के लिए एक उपयुक्त मानचित्रण के साथ उपयोग कर सकते हैं :

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

Ctrl-dएक समय में आधे पृष्ठ 10jको स्क्रॉल करता है, एक बार में 10 लाइनों को स्क्रॉल करने के लिए प्रतिस्थापित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.