[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comando sed substituir espaço em branco junto ao char
From: |
Jonathan Lessa |
Subject: |
Re: [shell-script] Comando sed substituir espaço em branco junto ao character |
Date: |
Mon, 5 Dec 2011 14:59:10 -0300 |
Amigo, o space aí ficou errado, veja:
$ echo "Ã " | sed 's/Ã[[:space:]]/í/g'
í
$ echo "Ã " | sed 's/Ã[[:space:]]/í/g'
í
$ echo "Ã- " | sed 's/Ã[[:space:]]/í/g''
Ã-
O primeiro comando usa um espaço em branco e o segundo um tab.
Att.:
Jonathan Lessa
Em 5 de dezembro de 2011 12:34, Luciano Silva <address@hidden>escreveu:
> **
>
>
> Obrigado pelas respostas.
>
> Tentei escapar mas não funcionou
>
> cat teste.txt
> subdomà nio
> và deo
>
> sed -i -e 's/\Ã\ /\í/g' text.txt
>
> Tentei utilizar também o [:space] mas não funcionou.
>
> sed -i -e 's/\Ã[:space]/\í/g' text.txt
>
> cat teste.txt
> subdomà nio
> và deo
>
> Luciano
>
> Em 5 de dezembro de 2011 11:19, eric miranda <address@hidden>
> escreveu:
>
> >
> >
> >
> > Escapa o espaço "\ "
> > Em 05/12/2011 11:11, "Luciano Silva" <address@hidden> escreveu:
> >
> > > **
> > >
> > >
> >
> >
> > > Salve galera,
> > >
> > > Gostaria de pedir uma ajuda em um comando sed que estou tentando.
> > >
> > > Estou testando a migração de um banco de dados MySQL(que já tem + 10
> anos)
> > > para um servidor PostgreSQL. Depois de vários testes, consegui atingir
> > > certo sucesso na migração. Porém, encontrei alguns problemas com a
> > > codificação com alguns dos caracteres de latin1 para utf8.
> > >
> > > Gerei um comando sed para essa substituição, para ser aplicado direto
> no
> > > postgre.sql:
> > >
> > > sed -i -e 's/\Ã\£/\ã/g;s/\Ã\¡/\á/g;s/\Ã\
> > >
> > >
> §/\ç/g;s/\Ã\‡/\Ç/g;s/\Ã\¢/\â/g;s/\Ã\€/\À/g;s/\Ã\ƒ/\Ã/g;s/\Ã\©/\é/g;s/\Ã\¨/\è/g;s/\Ã\ª/\ê/g;s/\Ã\³/\ó/g;s/\Ã\²/\ò/g;s/\Ã\´/\ô/g;s/\Ã\µ/\õ/g;s/\Ã
> > >
> > >
> /\í/g;s/\Ã\£/\ã/g;s/\Ã\º/\ú/g;s/\Ã\¹/\ù/g;s/\Ã\µ/\õ/g;s/\Ã\µ\'/\Ò/g;s/\Ã\“/\Ó/g;s/\Ã\”/\Ô/g;s/\Ã\•/\Õ/g;s/\Ã\¬/\ì/g;s/\Ã\Œ/\Ì/g;s/\Ã\
> > > /\Í/g;'
> > >
> > > Mas estou encontrando dificuldades na seguinte linha:
> > >
> > > sed -i -e 's/\Ã /\í/g' postgre.sql
> > >
> > > onde a letra A maiscula + acentuada + espaço em branco (Ã ) significa
> o í
> > > (letra i acentuada). Em cada ocorrencia do à seguida do espaço preciso
> > > substituir por í. Funciona em separado, mas com os outros comandos não.
> > > Também acredito que exista uma forma mais enxuta de aplicar o comando
> > > acima, mas conseguinto aplicar esse comando junto já ajuda.
> > >
> > > Grato,
> > >
> > > Luciano
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
>
>
--
Att.:
Jonathan Lessa
[As partes desta mensagem que não continham texto foram removidas]