[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuaç
From: |
Eri Ramos Bastos |
Subject: |
Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação) |
Date: |
Tue, 9 Oct 2012 11:46:03 -0300 |
Interessante... Parece ser um bug.
-- Ubuntu 10.4:
[0.67][1141] ebastos:~$> echo 'aeiou'|gawk -v FIELDWIDTHS='1 2 2' -v
OFS=',' '{$1=$1; print}'
a,ei,ou
[0.74][1141] ebastos:~$> echo 'aéiou'|gawk -v FIELDWIDTHS='1 2 2' -v
OFS=',' '{$1=$1; print}'
a,éi,ou
[0.71][1142] ebastos:~$> gawk --version
GNU Awk 3.1.8
Copyright (C) 1989, 1991-2010 Free Software Foundation.
-- CentOS 5.3
$ echo 'aeiou'|gawk -v FIELDWIDTHS='1 2 2' -v OFS=',' '{$1=$1; print}'
a,ei,ou
$ echo 'aéiou'|gawk -v FIELDWIDTHS='1 2 2' -v OFS=',' '{$1=$1; print}'
a,é,io
$ gawk --version
GNU Awk 3.1.5
Copyright (C) 1989, 1991-2005 Free Software Foundation.
2012/10/9 rapha.couto <address@hidden>
> Olá a todos.
>
> Estou criando um script o qual deve extrair os dados de um arquivo com
> campos de tamanho fixo. Estava usando o gawk pra isso. O problema é que o
> mesmo se confunde com campos com acentuação.
>
> $ echo 'aeiou'|gawk -v FIELDWIDTHS='1 2 2' -v OFS=',' '{$1=$1; print}'
> a,ei,ou
>
> $ echo 'aéiou'|gawk -v FIELDWIDTHS='1 2 2' -v OFS=',' '{$1=$1; print}'
> a,é,io
>
> Parece que ele está contando bytes e não caracteres e como os acentos
> possuem 2 bytes o resultado não é o esperado. Eu tentei também o cut mas
> mesmo com a opção de seleção por caracter não deu certo:
> $ echo 'aeiou'|cut -b 2-3
> ei
>
> $ echo 'aéiou'|cut -b 2-3
> é
>
> $ echo 'aéiou'|cut -c 2-3 (esse deveria funcionar)
> é
>
> A única solução que eu encontrei foi usar o sed:
> $ echo 'aéiou'|sed 's/^.\{1\}\(.\{2\}\).*$/\1/'
> éi
>
> Isso resolveu o meu problema. Entretanto, o problema é que essa solução é
> extremamente mais lenta do que as primeiras e como o arquivo é grande, o
> processo de extração está demorando muito. Alguém conhece uma solução mais
> veloz?
>
> Desde já, obrigado!
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Extrair campos de tamanho fixo (problema com acentuação), rapha.couto, 2012/10/09
- Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação),
Eri Ramos Bastos <=
- Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação), Tiago Peczenyj, 2012/10/09
- Re: Extrair campos de tamanho fixo (problema com acentuação), rapha.couto, 2012/10/09
- Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação), Alysson Gonçalves de Azevedo, 2012/10/09
- Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação), Eri Ramos Bastos, 2012/10/09
- Re: Extrair campos de tamanho fixo (problema com acentuação), rapha.couto, 2012/10/09
- Re: Extrair campos de tamanho fixo (problema com acentuação), rapha.couto, 2012/10/09
- Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação), Julio C. Neves, 2012/10/09
- Re: Extrair campos de tamanho fixo (problema com acentuação), rapha.couto, 2012/10/09
Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação), Luís Tavares, 2012/10/09