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

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

Re: [shell-script] Sed com expressão regular


From: Julio C. Neves
Subject: Re: [shell-script] Sed com expressão regular
Date: Thu, 5 Jun 2014 13:15:29 -0300

Pois é com o sed eu já conhecia, mas com o tr não sei o que há. Na teoria ele deveria reconhecer o LC_ALL, mas aparentemente não o faz

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 02 a 06/06
São Paulo 4Linux 21 a 25/07
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 5 de junho de 2014 11:18, Paulo Bettega address@hidden [shell-script] <address@hidden> escreveu:
 

Olá Julio, é verdade, aqui pra mim o tr também não converteu, o resultado foi o mesmo.
Mas o sed converte

$ sed 's/[a-z]/-/g' <<< ação
-çã-
$ LC_COLLATE=pt_BR.UTF-8 sed 's/[a-z]/-/g' <<< ação
----
$ LC_COLLATE=pt_BR sed 's/[a-z]/-/g' <<< ação
--�-�-

(essa última com pt_BR não sei o que vai aparecer, porque os acentuados
são substituídos por aquele "ponto de interrogação de dois bytes")

Acho que no sed não tem como fazer a substituição "em lote" com lista,
só com o comando y, letra por letra.
Mas o tr equivalente ao exemplo com sed também não substitui os acentuados

$ tr a-z - <<< ação
-çã-
$ LC_COLLATE=pt_BR.UTF-8 tr [a-z] - <<< ação
-çã-
$ LC_COLLATE=pt_BR.UTF-8 tr [:lower:] - <<< ação
-çã-

Tentei com todas aquelas variáveis LC_... e LANG mas não converteu.
Será que o tr se perde com os caracteres utf8?
Mas na ajuda aparecem as listas POSIX.

Abraços Paulo Bettega

On 05-06-2014 10:39, 'Julio C. Neves' address@hidden [shell-script] wrote:
> Concordo com o que vc falou Paulo, mas não entendo o que ocorre nesse exemplo:
>
> $ export LC_COLLATE=pt_BR.UTF-8
> $ tr a-z A-Z <<< ação
> AçãO
> $ tr [:lower:] [:upper:] <<< ação
> AçãO
>
> Nenhum dos 2 converteu o ç e o ã
>
> Abcs,
> Julio
> *@juliobash*
> *Próximos cursos de Shell*
> *Cidade LocalPeríodo*
> *Rio de JaneiroEDX <http://edx.srv.br/>02 a 06/06*
> *São Paulo4Linux <http://www.4linux.com.br/>21 a 25/07*
> Dou treinamento de /Shell/ em qualquer cidade.
> Para mais detalhes, me mande um e-mail <mailto:address@hidden>.
>
>
>
> Em 5 de junho de 2014 10:04, Paulo Bettega address@hidden <mailto:address@hidden>
> [shell-script] <address@hidden <mailto:address@hidden>> escreveu:
>
> __
>
> Olá pessoal, só pra relatar que [A-Za-z] e [:alpha:] englobam
> os caracteres acentuados quando a variável LC_COLLATE é igual a
> alguma linguagem UTF8.
>
> Quando LC_COLLATE=C , ou até mesmo LC_COLLATE=pt_BR , [A-Za-z] não casa os acentuados.
>
> Abraços Paulo Bettega
>
> On 04-06-2014 19:07, Paulo Bettega address@hidden <mailto:address@hidden>
> [shell-script] wrote:
> >
> > ps2- Pode ser a configuração do meu sistema (ou problema na configuração...),
> > mas aqui pra mim [A-Za-z] também pega é,ç,ã,Á,Í,etc.
> >
>



reply via email to

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