Отображение определенных символов в определенное время из текстового файла

Как отображать определенное количество слов или символов за заданное время, используя цикл. Допустим, я хочу отобразить 120 слов за одну минуту.

Вот цикл, который я пробовал:

FS= 

Этот цикл занимает всего одну секунду, но не работает для 120 слов в одну минуту или что-то подобное. Как я могу это сделать?

\n' for j in `cat $1`; do echo "$j"; sleep 1; clear; done

Этот цикл занимает всего одну секунду, но не работает для 120 слов в одну минуту или что-то подобное. Как я могу это сделать?

0
задан 22 March 2015 в 03:27

2 ответа

Команда сна делает задержку указанного количества времени (в секундах). С sleep 1 задержка была бы в течение 1 секунды (одно слово в секунду). Можно измениться для большего количества задержки путем постепенного увеличения второго параметра или для задержки меньше чем 1 второго деления это к низким единицам; Как sleep .1 для 1/10 второй задержки или sleep .001 для 1/1000 второй задержки и и т.д.

Поэтому, если Вы хотите отобразить 120 слов в минуту, можно использовать sleep .5 (который означает, отображают каждое слово за 0,5 секунды, которые также означают 120 слов за минуту)

, И заключительный сценарий как следовал бы:

#!/bin/bash

for word in $(< "$2");
do
    echo "$word";
    sleep  $1;
    clear;
done

Сохраняют сценарий, названный scriptname.sh, и делают его как исполняемый файл chmod +x scriptname.sh и затем выполняют сценарий с ./scriptname.sh .5 infile

2
ответ дан 22 March 2015 в 03:27

Это - частая практика для использования while read line ; do . . .; done структура в ударе для чтения файла линию за линией. Принятие Вашего входного файла имеет одно слово на строку, легко сделать что-то вроде этого:

while read line; do printf "%s\n" "$line" ; sleep 3; done < input.txt

Python может сделать это довольно легко:

#!/usr/bin/env python
import sys,time
for line in sys.stdin:
    print line.strip()
    sys.stdout.flush()
    time.sleep(1)

Использование:

python print_with_delay.py <input.txt 
0
ответ дан 22 March 2015 в 03:27

Другие вопросы по тегам:

Похожие вопросы: