linhas aleatórias com atraso entre

0

Estou usando o seguinte pacote para extrair linhas aleatórias do (s) arquivo (s) onde o delimitador de linha é% link

rl -c 10 -d % myfile.txt

-c 10 fornece 10 linhas como saída.

Como posso forçá-lo a dormir por um determinado período de tempo após cada linha impressa?

    
por cosmicraga 03.08.2013 / 09:52

1 resposta

2

Ao ler a página man, parece que não existe essa opção incorporada em rl , então você terá que usar outra coisa para conseguir isso. Por exemplo, você pode fazer isso com for :

for i in 'seq 10'; do rl -c 1 -d % myfile.txt; sleep 5; done

Isso fará com que ele "durma" por 5 segundos entre cada execução. Observe que a opção -c agora é 1 . Desta forma, existe o risco de que a mesma linha possa ser selecionada duas vezes dentro das 10 repetições. Outra maneira de fazer a mesma coisa sem esse risco é:

rl -c 10 -d % myfile.txt | while read line; do echo $line; sleep 5; done

Espero que isso seja útil.

    
por Marios Zindilis 03.08.2013 / 11:03