[gnucash-br] Atualização automática de fundos de investimento

Leonardo F. Cardoso leonardo.f.cardoso em gmail.com
Quarta Junho 9 07:35:20 EDT 2010


Prezados,

 esta é minha primeira mensagem para esta lista.

 Começo com uma questão interessante. Fiz o script abaixo para obter em
formato CSV valores de alguns fundos de investimento. Gostaria de anexar
este comportamento à funcionalidade de busca automática de cotações, mas não
sei por onde começar. Alguém palpita?

#!/bin/bash
# Copyright (C) Leonardo F. Cardoso (não experiente com shell script)

#####################################################

CAMINHO=/home/leonardo/Leo

DATA_FINAL=$(date +%d/%m/%Y)
DATA_FINAL_TXT=$(date +%d-%m-%Y)
DATA_INICIAL=$(date --date="5 days ago" +%d/%m/%Y)

wget -o $CAMINHO/wgetFundos.log -O $CAMINHO/fundos-$DATA_FINAL_TXT.html
--post-data="data_inicio=$DATA_INICIAL&data_fim=$DATA_FINAL&fundos_ok='123242'"
http://www.anbid.com.br/prodserv/recuperar_fim.asp

# Até agora, obtivemos os dados ainda em formato HTML, vamos obter as cotas
mais recentes

html2text $CAMINHO/fundos-$DATA_FINAL_TXT.html | while read LINHA_LIDA
do
    if [[ $LINHA_LIDA == "Fundo: "* ]]
    then
        NOME_FUNDO=$(echo $LINHA_LIDA | gawk '{ match ($0, /Fundo: .* Tipo:
/, arr);  print arr[0]}' | gawk '{sub (/Fundo: /, ""); sub (/ Tipo:/,"");
print }')
        # Guardamos o nome do fundo atualmente em processamento em
NOME_FUNDO
        # echo "DEBUG" $NOME_FUNDO
    fi

    # Prossegue lendo linhas até encontrar uma linha com o separador
    # Separador = "================================"*

    if [[ $LINHA_LIDA == "================================"* ]]
    then
        DATA_FUNDO=$(echo $LINHA_ANTERIOR | gawk 'BEGIN {FS="|"} { print $2
}' | gawk '{sub (/_/, ""); print}')
        # echo "DEBUG" $DATA_FUNDO

        VALOR_FUNDO=$(echo $LINHA_ANTERIOR | gawk 'BEGIN {FS="|"} { print $4
}' | gawk '{sub (/_/, ""); print}')
        # echo "DEBUG" $VALOR_FUNDO

        echo $DATA_FUNDO";"$VALOR_FUNDO";"$NOME_FUNDO
    fi

    # Guarda a linha anterior pois no momento em que houver o separador, a
cota estará nela
    LINHA_ANTERIOR=$LINHA_LIDA

done


 Sds
 Leonardo

-----------------------------------------
Leonardo F. Cardoso
leonardo.f.cardoso "at" gmail.com
leofcar "at" ig.com.br (Alternativo)
MSN: lfcardoso em hotmail.com
-----------------------------------------
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.gnucash.org/pipermail/gnucash-br/attachments/20100609/f03aaf6a/attachment.html>


Mais detalhes sobre a lista de discussão gnucash-br