[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OFF TOPIC] Shell Script



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 <rescobarrj@gmail.com> 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 <allisonvoll@yahoo.com.br>

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 <hliguori@gmail.com> escreveu:

De: Harlei Liguori Marcelino <hliguori@gmail.com>
Assunto: [OFF TOPIC] Shell Script
Para: "debianlista" <debian-user-portuguese@lists.debian.org>
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

 



Reply to: