Escrever conteúdo de um arquivo em outro arquivo em intervalos de tempo definidos usando delimitadores

2

Estou tentando escrever um script no bash que lê um arquivo file1 e grava em outro arquivo file2 a cada 2 segundos, o que é bastante fácil.

No entanto, desejo gravar em file2 em uma linha por linha ou usando delimitadores.

Por exemplo:

File1 = Some text goes in here

Eu quero escrever para file2 a cada 2 segundos a primeira palavra Some , mas apenas uma vez, após 2 segundos a segunda palavra e assim por diante até o final de file1 .

    
por polym 10.07.2014 / 20:13

2 respostas

2

Eu converteria o delimitador em novas linhas para obter "delimitadores linha por linha ou ", algo como:

Script:

echo -e "foo:bar\nbaz" > myfile
i=0
while read -r foo; do 
    echo $i $foo
    i=$((i += 1))
done < <(cat myfile | tr ':' '\n')

Saída:

0 foo
1 bar
2 baz
    
por 10.07.2014 / 20:45
1

Um exemplo de script python de onde você pode começar a escrever o script que você quer, lendo as palavras do primeiro arquivo e imprimindo para stdout, mas você pode abrir outro arquivo e escrever lá

#!/usr/bin/python

import time

File = open("words", "r")
Wordlist = File.readline().split()

n = 0

while True:
    time.sleep(2)
    print "File2 = " + Wordlist[n] #you can change this
    n = n + 1
    if n == Wordlist.__len__():
            break
    
por 10.07.2014 / 20:58

Tags