Copia um arquivo que está no meio de ser escrito

0

Eu tenho um programa que grava na saída padrão. Ele não grava todas as informações de uma só vez, faz computação e grava novos bits. A saída do programa está sendo armazenada em um arquivo.

$ ./theprogram.sh > results.csv

Enquanto o script estava em execução, copiei results.csv para espiar números. Depois disso, as próximas cópias do arquivo não mostram alterações, embora alguns registros devam ser adicionados lá. O que aconteceu com o arquivo original depois que eu copiei durante a escrita? Os novos registros estão sendo descartados?

    
por ashim 19.02.2014 / 17:42

1 resposta

3

Use,

tail -f results.csv para assistir ao arquivo enquanto cresce, você pode sair da cauda com Ctrl - C

less também funciona O comando G leva você até a última linha F seguirá.

tubulação através do tee, por exemplo. ./theprogram.sh | tee results.csv permite que você assista a saída no stdout e registre no arquivo simultaneamente.

Sua cópia não deve ter afetado nada. No entanto você está executando um script, poderia haver algo nesse script que esperaria acesso exclusivo ao arquivo de saída e abortar se não conseguir? Pessoalmente, duvido disso.

    
por 19.02.2014 / 18:32