shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Alguma forma de rolar a leitura de um arquivo todo?


From: Flavio Junior
Subject: Re: [shell-script] Alguma forma de rolar a leitura de um arquivo todo?
Date: Mon, 9 Feb 2009 10:03:22 -0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Não entendi bem.. mas me parece que o que tu quer é adicionar um "AS"
no inicio de todas as linhas?

Não poderia fazer algo como:

# sed 's/^/AS/' arquivo.log > list05.txt

Se por acaso tu só quer da primeira linha até auqele numero que definiu ali:

# sed '1,33486s/^/AS/' arquivo.log > list05.txt

Desculpe se não entendi o que quer.

- --

Flávio do Carmo Jùnior aka waKKu

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: http://getfiregpg.org

iEYEARECAAYFAkmQG4wACgkQgyuXjr6dyks12wCdHhBat2li4AhRbOsL0ByIimG2
LiYAniSRHp8YMRoXlqfzqpHTHkblj5cm
=R46p
-----END PGP SIGNATURE-----

2009/2/9 MrBiTS <address@hidden>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Kurt Kraut wrote:
>> Aloha,
>>
>> Eu tenho feito muitos trabalhos em que preciso que o script leia linha
>> por linha de um log e a interprete. A forma que tenho feito o trabalho
>> é essa:
>>
>>
>> i=1
>> while [ $i -le 33486 ]
>> do
>> line="$(head -$i arquivo.log|tail -1)"
>> echo AS$line >> list05.txt
>> i=`expr $i + 1`
>> done
>>
>>
>> Onde arquivo.log tem 33486 linhas. Este script levou 8min58sec para
>> ser executado em um servidor ocioso. Acompanhando o tail -f list05.txt
>> vi que a escrita era em rajadas. Toda a performance me pareceu
>> bastante insatisfatória.
>>
>> Alguém me recomenda uma forma mais eficiente de ler um arquivo linha a
>> linha ?
>>
>>
>> Desde já agradeço a atenção,
>
> Um arquivo de 33.000 linhas é nada. Leio arquivos cujo tSeu problema não
> está na leitura do arquivo em sí.amanho vai na ordem dos
> Gigabytes em instantes.
>
> Veja que você faz um head para pegar a linha que você quer e um expr para
> calcular. Eu aconselho você a usar um outro recurso para
> ler os arquivos:
>
> LINHA=0
> while read LINE ; do
> echo AS$LINHA
> done < arquivo.log >> list05.txt
>
> Isso já mata o head, o redirecionamento e você não tem que incrementar seu
> contador de linha.
>
> - --
>
> Um abraço
>
> .0. MrBiTs - address@hidden
> ..0 GnuPG -
> http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
> 000 http://www.mrbits.com.br
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> iD8DBQFJkBUarDdxWm3R8YYRAotcAJ95UCSHEwuGXBbPuOBLxHpaP/LZrQCfWPWs
> MVleB+zAUaKi5UikWGGPL4I=
> =WcMK
> -----END PGP SIGNATURE-----
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]