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

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

Re: [shell-script] Organizando extrato de banco!


From: Alfredo Casanova
Subject: Re: [shell-script] Organizando extrato de banco!
Date: Tue, 5 Feb 2013 11:59:58 -0200

seguem os testes:

$ cat arq
sem acento
tb sem acento
Essa é acentuada
e essa tb, ó
mas essa não é minha, Eça é de Queiroz

$ echo $LANG
en_US.UTF-8

$ grep -o '[A-Za-z]' arq | xargs echo ' '
  s e m a c e n t o t b s e m a c e n t o E s s a é a c e n t u a d a e e s
s a t b ó m a s e s s a n ã o é m i n h a E ç a é d e Q u e i r o z

$ grep -o '[[:alpha:]]' arq | xargs echo ' '
  s e m a c e n t o t b s e m a c e n t o E s s a é a c e n t u a d a e e s
s a t b ó m a s e s s a n ã o é m i n h a E ç a é d e Q u e i r o z

$ file extrato20130204-1552.csv
extrato20130204-1552.csv: ISO-8859 text, with CRLF line terminators

$ cat extrato20130204-1552.csv | head -1
"Data","Dependencia Origem","Hist�rico","Data do Balancete","N�mero do
documento","Valor",

$ iconv -t UTF-8 extrato20130204-1552.csv
"Data","Dependencia Origem","Histiconv: illegal input sequence at position
33

$ iconv -f ISO-8859-15 -t UTF-8 extrato20130204-1552.csv | head -1
"Data","Dependencia Origem","Histórico","Data do Balancete","Número do
documento","Valor",

adicionei a seguinte linha ao meu código:

iconv -f ISO-8859-15 -t UTF-8 $1 -o $1





2013/2/4 Rafael Henrique da Silva Correia <address@hidden>

> Apenas acrescentando uma questão curiosa a este post:
>
> Estes dias estive fazendo um script em que pegava dados de uma página
> web... quando mandei salvar em um arquivo ele também deu uma zuada... como
> vc disse acima Alfredo... eu não conseguia converter e o trabalho com
> vetores ficou complicado por ex:
>
> ${VETOR[@]} -> vinha somente um elemento (o último)... e estou MUITO
> acostumado a utilizar isso em arquivos .csv (que trabalho diariamente)
>
> Acabei resolvendo o problema com o sed (que removia o CRLF do final das
> linhas).
>
> Será que isso acontece quando a gente pega dados de coisas que já estão em
> UTF-8?
>
> Funçãozinha que eu fiz:
>
> # Esta função serve para "buscar" battletags da página da Blizzard (quem
> joga diablo 3 vai entender isso)
> # Não se preocupem com o objetivo do script pois ele é bem idiotinha :)...
> legal foi a zica que deu
>
> update_BTlist(){
>     TOPIC=( $(lynx -source http://us.battle.net/d3/pt/forum/3357729/ | \
>         awk -F"href=" '( $1 ~ "../topic" || $2 ~ "../topic" ){
> split($2,vet,"\".."); print "http://us.battle.net/d3/pt/forum"; vet[2] }')
> )
>
>     for((cont=0;cont<"${#TOPIC[@]}";cont++)); do
>         echo "Progresso $(( ($cont+1) * 100 / ${#TOPIC[@]} )) %"
>         BATTLETAG=( ${BATTLETAG[@]} $(lynx -source "${TOPIC[$cont]}" | awk
> -F"href=" '( $1 ~ "view-d3-profile" || $2 ~ "view-d3-profile" ) {
> split($2,vet,"profile/"); print vet[2] }' | sed "s/\/\">//g") )
>     done
>
>     echo "${BATTLETAG[@]}" | tr " " "\n" >> "$BTDBtmp"
>     sort -u "$BTDBtmp" > "$BTDB"
>
>     # O texto original do arquivo é: assembler source, UTF-8 Unicode text,
> with CRLF line terminators
>     # Para remover o CRLF do arquivo basta executarmos o seguinte comando
> abaixo:
>     sed -i 's/.$//' "$BTDB"
>     # desta forma o arquivo vira um: assembler source, UTF-8 Unicode text
>
> Bom coloquei o script só para ilustrar os "erros", não levem a mal por
> favor e se virem algo errado CRITIQUEM :-).
>
> Att.
>
> Em 4 de fevereiro de 2013 16:26, Alfredo Casanova
> <address@hidden>escreveu:
>
> > **
> >
> >
> > Boa tarde pessoal
> > Resolvi fazer um sistema pra organizar alguns extratos de banco, mas logo
> > de cara me deparei com um problema.
> >
> > Quando dou um grep na coluna de descrição dos gastos, ele dá pau nas
> > palavras com caracteres non-ascii. Tentei fazer um "iconv -t
> > 'ascii//TRANSLIT', pois os acentos não me fariam falta, mas ele me deu o
> > seguinte erro:
> >
> > iconv: illegal input sequence at position 33
> >
> > position 33 era um "ó"
> >
> > Não sei como forçar o bash a trabalhar com UTF-8, nem se essa seria a
> > melhor solução.
> >
> > Alguém tem alguma ideia?
> >
> > --
> > []'s
> > Alfredo Casanova
> > Linux User #228230
> > msn: address@hidden
> > tel: +55 61 9655 9619
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
>
> --
> Rafael Henrique da Silva Correia
> http://abraseucodigo.com.br
>
> Bacharel em Ciência da Computação
> Administrador de Sistemas Linux
> Certificado pela LPIC - 101 <http://www.lpi.org/>
> Certificado Novell (CLA) <http://www.novell.com/training/certinfo/cla/>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


-- 
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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