Como enviar o comando mtr em formato legível para a saída padrão?

1

Quando executo sudo mtr 4.2.2.1 , ele é executado no Terminal em um loop.

Gostaria de manter o mesmo formato abaixo:

Host                                                   
1. 192.168.15.1                                        
2. ???
3. 10.254.254.x                                      
4. 10.254.254.x                                     
5. core1.lon2.he.net                           
6. 10gigabitethernet2-1.core1.lon2.he.net
7. a.resolvers.level3.net

mas impresso uma vez na saída padrão.

No manual eu posso ver apenas as opções para imprimi-lo nos formatos XML, JSON, CSV ou RAW, mas não no formato legível como acima, impresso uma vez. Basicamente estou interessado em formato similar ao usar o comando traceroute , mas para mtr . É possível?

Eu tentei executar como sudo mtr -c1 4.2.2.1 | head -n20 , mas ele quebra o terminal, então eu tenho reset após cada uso. Alguma solução para isso?

    
por kenorb 31.01.2017 / 15:57

2 respostas

4

Se você quiser processar a saída de mtr ou mantê-la exibida após mtr , será necessário executá-la no modo de relatório ou, melhor, no modo de relatório amplo:

mtr -r -c1 4.2.2.1

ou

mtr -w -c1 4.2.2.1

(a diferença é que no modo de relatório amplo, não truncará nomes de host).

mtr -w -c1 4.2.2.1 | awk 'NR>1 {print $1, $2}'

daria algo próximo do que você procura.

    
por 31.01.2017 / 16:05
1

Isso pode ser feito com -r , modo de relatório.

sudo mtr -c1 -r 4.2.2.1 | head -n20

Ou redirecionado para um arquivo ...

sudo mtr -c1 -r 4.2.2.1 | head -n20 > out

Além disso, o iTerm2 não parece ser afetado pelo problema do desenho da tela.

    
por 31.01.2017 / 16:04