[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Script lento...
From: |
Luciano Depierri |
Subject: |
Script lento... |
Date: |
Tue, 24 May 2005 09:41:26 -0300 |
Pessoal,
Estou rodando um script aqui mas está muito, muito, muito lento, e para ajudar
o meu arquivo tem nada menos do que 6450044 linhas.
Eu percebi que quanto menor o arquivo (menos linhas) o output é mais rápido.
Segue o trecho principal do meu script. Alguem tem alguma idéia para "tentar"
deixar mais rápido o processo? Ou é isso mesmo, quanto mais pesado o arquivo de
entrada mais lento será o processamento?
Obs: Se eu rodar de uma só vez as 6450044 linhas, parace que estou dando um
sleep 2 no processamento de cada linha.
Agradeço antecipadamente.
...
qtd_linhas=`wc -l "$path/"saida.marcpl2709 | awk '{print $1;}'`
until [ "$var" = "1" ]; do
linha=`sed -n "$count"p "$path/"saida.marcpl2709`
echo "$count" >> $path/ChangeMarc.saida-teste
campo=`echo "$linha" | awk '{print $1;}'`
if [ "$campo" = "300" ]; then
teste=`echo "$linha" | sed -n '/videocassete/p'`
if [ "$teste" != "" ]; then
LDRcount=0
linhabranco=0
num_linha_enc="$count"
until [ "$LDRcount" = "1" ]; do
num_linha_enc=`expr "$num_linha_enc" - "1"`
linha_ant=`sed -n "$num_linha_enc"p
"$path/"saida.marcpl2709`
LDR=`echo "$linha_ant" | awk '{print $1;}'`
if [ "$LDR" = "LDR" ]; then
LDRcount=1
fi
done
until [ "$linhabranco" = "1" ]; do
linha_reg=`sed -n "$num_linha_enc"p
"$path/"saida.marcpl2709`
echo "$linha_reg" >> $path/ChangeMarc.saida
num_linha_enc=`expr "$num_linha_enc" + "1"`
linhabrancoaux=`echo "$linha_reg" | awk '{print
$1;}'`
if [ "$linhabrancoaux" = "" ]; then
linhabranco=1
fi
done
fi
fi
if [ "$count" = "$qtd_linhas" ]; then
var=1
fi
count=`expr "$count" + "1"`
done
...
--------------------------------------------------------------------------------
Luciano Depierri
Analista de Sistemas - NAI-SBI-PUC-Campinas
Fone: (19) 3735-5845 - Fax: (19) 3735-5818
[As partes desta mensagem que não continham texto foram removidas]