2008/9/11 leo_caranguejeira <[EMAIL PROTECTED]>:
> Olá Pessoal,
>
> Estou me matando na solução de uma pesquisa com grep já faz um tempo.
> Gostaria de uma ajudinha, e desde já agradeço aos grandes
> conhecedores de sheell desta lista.
>
>
> Tenho um arquivo com o formato abaixo, de 1 G, o que eu p
Olá, vamos por partes :)
Tenho um arquivo com o formato abaixo, de 1 G, o que eu preciso é
grepar a linha "" com o o resultado Resp:0 e pegar também as
linhas ", e acima do status, o grep |
destas linhas forma um único comando.
Resumindo, o grep do "" mais as linhas acima forma um único
comando,
Pelo que entendi, o que importa mesmo é contagem da linha com
"Resp:0" é isso ? Ou estou enganado... se for isso:
grep "RESP:0;" arquivo.log | wc -l
confusa sua pergunta.
tenta isso daqui:
sed '/\(\|\|\|\|\)/!d;
H;
//!d;
x;
s/\n//g;
s/<[^>]\+>/ /g;
s/^[ \t]\+//g;
/RESP:0/!d;' arquivo_de_1G
On Fri, Sep 12, 2008 at 01:46:12AM -, leo_caranguejeira wrote:
> Olá Pessoal,
>
> Estou me matando na solução de uma pesquisa com grep já faz um tem
Essa, provavelmente, não é a melhor forma de fazer isso, mas funciona:
$ grep -B 9 '' |tr -d '\t '|paste -s
-d'\t'|sed 's/\t--\t/\n/g' | \
cut -f 1,2,7,10 | sed 's/<[^>]\+>//g'
Set MHLRSUB 20080903235942.784165 SUCCESSFUL
Login CAI 20080903235943.392448 SUCCESSFUL
CAI
Se você sempre tem a mesma quantidade de linhas para cada "bloco",
você pode usar o grep -B / grep -A
Pelo que entendi, voce quer as linhas , ,
e do bloco em que encontrar:
"
certo?
Se for esse o caso, tente algo como o abaixo (estou só com o grep do
AIX aqui, entao nao tenho como testar -A e