[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Usando Here Strings no "ED"
From: |
Flavio Junior |
Subject: |
Re: Usando Here Strings no "ED" |
Date: |
Mon, 1 Oct 2007 17:57:06 -0300 |
Respondendo a mim mesmo...
Ganhei mais que o dobro de performance com esse esquema do ed:
LINHA="$(ed -s $LOG <<<"/${ID}.*${TAG}$/"$'p\nd\nw\nq' 2>&-)"
Flávio do Carmo Júnior
On 10/1/07, Flavio Junior <address@hidden> wrote:
> Tarde povo..
>
> Pessoal, veja o problema:
>
> while IFS=$: read ID SIZE; do
>
> LINHA="$(sed -n "/$ID.*$TAG$/{p;Q}" $LOG)"
>
> done < $IDSIZE
>
> O caso é que, esse arquivo texto é bem grande (é um log né)... Quando
> eu utilizar a linha q preciso, eu poderia apaga-la e melhorar assim a
> performance do script.
>
> Se eu fizer outro sed -i ali pra achar e apagar a linha, resolve...
> mas eu achei feio...
> Então voltei aos primordios e fiz com o "ed" ... Veja:
>
> $ ed -s $LOG <<<$'/IDdaMSG.*TAGFINAL$/p\nd\nw\nq'
>
> Isso funciona beleza na linha de comando..
>
> Mas não consegui de jeito nenhum fazer isso funcionar com as aspas
> duplas.. (O que é necessário no meu caso, já que vou usar variaveis
> dentro da regex).
>
> Alguem já viu uma solução desse tipo?
>
> Qualquer dica é bem vinda tambem ... ;)
>
>
>
> Flávio do Carmo Júnior
>