Imprimir saída do terminal no gedit automaticamente?

4

o comando

time ./myprog 

exibe o tempo que levou para executar o myprog na tela. Agora eu gostaria de escrever esta informação para um arquivo de texto.

Como?

    
por user2413 02.11.2010 / 18:52

2 respostas

6

Sem um caminho time é o shell embutido e sua saída não é redirecionada. Em vez disso, você pode usar o programa time , em /usr/bin/time , que gravará no stderr:

/usr/bin/time -p ./myprog 2> timing.txt && gedit timing.txt

Eu adicionei -p para que a saída seja semelhante à saída do time integrado.

    
por Kees Cook 02.11.2010 / 19:24
5

Edit: Eu deveria ter testado isso!

Kees está muito correto. time é um shell embutido na maioria dos casos, portanto, sua saída não flui por STDOUT como outros programas normalmente. Você pode usar a versão do comando, mas para salvar com duas respostas idênticas (ou eu excluindo a minha), aqui está outra maneira de capturar coisas que não são produzidas de maneira tradicional.

bash -c "time ./myprog" 2>&1 > file.txt

Os mesmos principais de antes existem. Se você quiser que gedit carregue depois disso, clique em && gedit file.txt , se você quiser acrescentar, altere > para >> .

Se o seu comando for muito barulhento e você quiser apenas os horários, você poderá executar a saída por meio de tail :

bash -c "time ./myprog" 2>&1 | tail -3 > file.txt && gedit file.txt

Resposta antiga

Para salvá-lo em um arquivo, basta fazer isso:

time ./myprog > file.txt

Você não precisa da extensão .txt , mas pode ajudar você. Se você deseja anexar ao arquivo (em vez de substituí-lo), troque o > para >> .

Se você quer que isso apareça no gedit especificamente, você precisa salvá-lo em um arquivo e depois abri-lo no gedit. Não consigo ver uma maneira de canalizar o texto diretamente para o gedit sem salvá-lo primeiro.

time ./myprog > file.txt && gedit file.txt
    
por Oli 02.11.2010 / 19:02