[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Criação de arquivo
From: |
Paulo Bettega |
Subject: |
Re: [shell-script] Criação de arquivo |
Date: |
Thu, 20 Mar 2014 14:45:12 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
Olá pessoal, vendo o exemplo do Alex percebi que cometi um crime contra o loop
do while.
As sub-shells com echo e cut atrasam muito o loop, então arrumei o loop sem as sub-shells e
carregando cada campo em uma variável como no exemplo do Alex.
Fazendo assim o tempo de execução fica muito menor, mas o awk continua sendo
mais rápido.
Agora testei num arquivo maior, com 2059 linhas.
big-file
"Conta";"Data_Mov";"Nr_Doc";"Historico";"Valor";"Deb_Cred" # linha 1
"3333222111111111";"20130101";"000000";"REM BASICA";"0.00";"C" # linha 2
(e mais 2057 iguais)
time awk 'BEGIN {FS=";"}{print "sinc_t "$1" U "$2" U"}' big-file
real 0m0.103s
user 0m0.015s
sys 0m0.012s
time while read c1 c2 c3 c4 c5 c6;do echo "sinc_t $c1 U $c2 U";done < <(cat
big-file|tr ';' '\t')
real 0m0.775s
user 0m0.193s
sys 0m0.111s
Tentei primeiro com read -d\; mas não deu o resultado esperado, então fiz a
gambiarra com o tr.
Só por comparação, o loop com as sub-shells demorou mais de um minuto
processando o big-file.
Abraços Paulo Bettega
On 19-03-2014 22:49, address@hidden wrote:
Caro colega,
Isso é bem tranquilo de fazer no shell.
Vc pode fazer isso utilizando um loop.
While read contrato telefone
do
echo "sinc_t($contrato) U ($telefone) U" >> arq-saida.txt
done < arq-entrada.txt
Pronto.
Caso o conteudo do arquivo de entrada contenha mais informacoes sera necessario
usar awk.
Enviada do meu iPhone
- Criação de arquivo, Anderson, 2014/03/16
- Re: [shell-script] Criação de arquivo, William Alves dos Santos, 2014/03/16
- Re: Criação de arquivo, itamarnet, 2014/03/17
- Re: [shell-script] Criação de arquivo, Julio C. Neves, 2014/03/17
- Re: [shell-script] Criação de arquivo, Anderson, 2014/03/17
- Re: [shell-script] Criação de arquivo, Ernander (Nander), 2014/03/17
- Re: [shell-script] Criação de arquivo, Valtoir, 2014/03/17
- Re: [shell-script] Criação de arquivo, Anderson, 2014/03/17
- Re: [shell-script] Criação de arquivo, Ernander (Nander), 2014/03/17
- Re: [shell-script] Criação de arquivo, Anderson, 2014/03/17
- Re: [shell-script] Criação de arquivo, Paulo Bettega, 2014/03/19
- Re: [shell-script] Criação de arquivo, Valtoir, 2014/03/19