Pular para o conteúdo

Shell Muito Louco [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Shell Muito Louco [RESOLVIDO]

Enviado em 22/07/2011 - 09:49h

Pessoal, é até difícil explicar, não faço ideia do que pode ser. Veja os comandos abaixo.

Linux:/home/admin# cat /tmp/result_btest.txt
"tx"=444442216
"rx"=374684144


Linux:/home/admin# TX=`sed -n '1p' /tmp/result_btest.txt | cut -f2 -d =`
Linux:/home/admin# echo $TX
444442216

Até aqui Tudo bem, o sed pegou a linha certa no arquivo e o cut pegou o dado que eu preciso. Agora vem o mistério, esse numero seguido da palavra bytes. Olha o que acontece:

Linux:/home/admin# echo $TX bytes
bytes216
Linux:/home/admin# echo $TX aa
aa442216

A palavra que vem depois da variável é impressa sobre a variável. O curioso que é isso só acontece qdo o valor vem de um comando como o sed. Se eu setar a variável com o valor direto (Tx=444442216) isso não acontece.

Alguém sabe o que é isso?

Agradeço desde já.

Responder tópico

2. Re: Shell Muito Louco [RESOLVIDO]

Melhor resposta

Enviado em 22/07/2011 - 10:54h

Parece que tem um \r no final da linha no arquivo.
Por acaso esse arquivo nao foi criado no Ruindows?

Tente colocar um "tr -d '\\r' depois do cut que pega esse dado.

Caso nao funcione, tente analisar os ultimos caracteres do arquivo, usando o comando "od". Com certeza tem um caracter de controle no final dessa linha.

Espero ter ajudado!


3. Resolvido

Enviado em 22/07/2011 - 14:03h

Obrigado Hebang! Era isso mesmo o tr resolveu o problema, nunca tinha visto uma coisa assim. Valeu pela dica.
Na verdade esse arquivo é a saída de comando ssh executado no Mikrotik.

sshpass -p $senha ssh $login@$ip ":environment print" >/tmp/result_btest.txt

Por isso achei estranho. Mas valeu!

4. Re: Shell Muito Louco [RESOLVIDO]

Enviado em 22/07/2011 - 14:11h

Blz cara, estamos ai pra ajudar.

PS: Não esquece minha estrelinha :P

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder