Diferença dinâmica de um arquivo

0

Estou tentando diferenciar um arquivo ao longo do tempo usando a substituição de processo no bash.

diff <(cat /path/to/file | sort; sleep 20) <(cat /path/to/file)

Eu também tentei:

diff <(cat /path/to/file | sort && sleep 20) <(cat /path/to/file)

Os diffs parecem sempre combinar como se estivessem dormindo primeiro e depois catando os arquivos. A substituição do processo funciona de outra forma se você usar dois arquivos diferentes. Alguma sugestão?

    
por user3347636 28.02.2014 / 18:00

1 resposta

1

Use veja para executar seu comando em um intervalo.

watch -n 20 'bash -c "diff <(cat /path/to/file | sort) <(cat /path/to/file)"'

Esse comando em particular poderia ser escrito de forma mais simples assim.

watch -n 20 'bash -c "diff <(sort /path/to/file) /path/to/file"'

Atualização:

Como alternativa, talvez porque o relógio não mostre toda a saída, você pode colocar seu comando em um loop while.

while true; do diff <(sort /path/to/file) /path/to/file; sleep 20; done
    
por 28.02.2014 / 18:22

Tags