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

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

Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuaç


From: Luís Tavares
Subject: Re: [shell-script] Extrair campos de tamanho fixo (problema com acentuação)
Date: Tue, 9 Oct 2012 18:08:03 -0300

Redhat aqui...

[root@PasqualiRH ~]# echo 'aéiou' | cut -c2-3
éi


Luís Alberto Tavares Poli
(16) 9715-0309



Em 9 de outubro de 2012 11:02, rapha.couto <address@hidden> escreveu:

> **
>
>
> 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!
>
>  
>


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



reply via email to

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