Como posso redirecionar a saída para um arquivo quando o programa é compilado com a biblioteca ncurses [duplicate]?

4

Se redirecionarmos a saída para o arquivo neste padrão top >> somefile.txt , obtemos muito valor de lixo na saída. Mas, para top , há a opção em lote ( top -b -n1 >> somefile.txt ) em que a saída do arquivo é a desejada. No caso de programas como nethogs , não há tais opções. Existe uma boa maneira de produzir em tal caso.

    
por rituparnakashyap 08.10.2012 / 11:11

2 respostas

4

Você também pode tentar filtrar o lixo sozinho. Por exemplo, isso removeria todos os caracteres não imprimíveis:

nethogs | sed 's,[^[:print:]],,g' >> somefile.txt

Você pode estender isso conforme necessário ou adotar a abordagem oposta e permitir somente o não-lixo explícito, por exemplo. (alfanuméricos e pontuação):

nethogs | sed 's,[^[:alnum:][:punct:]],,g' >> somefile.txt

Se a saída tiver código de cores, será necessário algum trabalho extra para remover as seqüências de caracteres de escape de cores.

    
por 08.10.2012 / 13:33
2

Não há um bom caminho, mas às vezes configurar o terminal pode ajudar.

Por exemplo,

TERM=dumb top

elimina a maioria dos caracteres de controle.

    
por 08.10.2012 / 11:37