Obrigado pelos comandos gente,

eu não fazia ideia de como fazer este script, mas, o Rodrigo fez exatamente
oq eu precisava com o comando abaixo:

cat time|awk -F"time=" '{ print $2 }' |cut -d"s" -f 1

muito obrigado mesmo!!! problema resolvido

att

Harlei


Em 22 de fevereiro de 2011 22:04, Rodrigo Escobar
<[email protected]>escreveu:

> Isto é um pouco complicado de controlar.
>
> Normalmente quando faz-se um script voce tem que ter um padrao de
> resultados que voce deseja filtrar para que nunca entre em alguma condição
> que voce nao queira.
>
> Ex:
>
> $ cat time|awk -F"time=" '{ print $2 }' |cut -d"s" -f 1
> 11.078423
>
> O awk coloca o delimitador em 'time='  e imprime a o que vem apos esse
> delimitador ...$2... ($0 = todo conteúdo, $1 = antes do delim, $2 depois do
> delim, etc) depois o cut coloca o delimitador no 's' e imprime o que vem
> antes de 's'.
>
> Existe diversas outras maneiras de fazer isso, mas ai eu te pergunto, todos
> os resultados vão sair nesse padrão? Se for esse aí em cima serve, senão,
> voce vai ter que tratar as exceções.
>
> Abs
>
>
> 2011/2/22 Allison Vollmann <[email protected]>
>
> Você consegue fazer isso utilizando expressões regulares com egrep, sed,
>> awk, perl, python ou qualquer outra linguagem de scripting, o mais simples
>> ao meu ver seria uma combinação do egrep com o cut:
>>
>> # egrep -o "time=([0-9\.]+)" | cut -d '=' -f2
>>
>> --- Em *ter, 22/2/11, Harlei Liguori Marcelino <[email protected]>*escreveu:
>>
>>
>> De: Harlei Liguori Marcelino <[email protected]>
>> Assunto: [OFF TOPIC] Shell Script
>> Para: "debianlista" <[email protected]>
>> Data: Terça-feira, 22 de Fevereiro de 2011, 21:16
>>
>>
>> Amigos,
>>
>> estou precisando terminar um shell script e para isso preciso localizar a
>> palavra 'second' dentro de uma variável (que é o resultado de um teste de
>> velocidade e vem com mais algumas informações), para assim que localizar
>> pegar alguns caracteres antes, veja o exemplo:
>>
>> HTTP OK: HTTP/1.1 301 Moved Permanently - 776 bytes in 11.078 second
>> response time |time=11.078423s;;;0.000000 size=776B;;;0
>>
>> Essa é a linha por exemplo... Quero apenas o numero 11.078, ou seja,
>> preciso conseguir pegar as 6 casas anteriores ao 'S' da palavra 'second',
>> mas, não consegui fazer esta linha no shell. Alguém conseguiria me ajudar?
>>
>> agradeço desde já
>>
>> att
>>
>> Harlei
>>
>>
>>
>
>
>

Responder a