On Tue, Mar 27, 2012 at 12:57 PM, Flávio Barros <[email protected]> wrote:
> Bom dia.
> Será que alguém poderia me dar uma ajuda com o comando abaixo ?
>
> # ping -q -n -c 10 172.21.2.1 | grep "packet loss"
> 10 packets transmitted, 10 received, 50% packet loss, time 8999ms
>
> # ping -q -n -c 10 172.21.2.1 | grep "packet loss" | cut -d " " -f 6
> 0%
>
> O que está errado ? Não deveria aparecer 50% ?
Parece que está funcionando, tu simplesmente não teve perdas no
segundo teste. :)
Se tu fizer um echo na saida do ping (10 packets transmitted, 10
received, 50% packet loss, time 8999ms) e usar o cut, tu vai ver que,
ai sim, sempre vai mostrar os 50%.
A propósito, sempre que eu trato campos delimitados por espaços (ou
tabs), eu uso o awk, que é bem mais inteligente que o cut, fica assim:
ping ... | awk '/packet loss/ {print $6}'
A primeira parte da expresão é equivalente ao grep, ela diz "executa o
comando entre as chaves ({ }) nas linhas que dão match nesta
expressão". O print $6 eu não preciso explicar, né? :)
--
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
Antes de perguntar:
http://www.istf.com.br/perguntas/
Para sair da lista envie um e-mail para:
[email protected]