[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Barra invertida - QUE RAIO
From: |
Frederico Argolo |
Subject: |
Re: RES: [shell-script] Barra invertida - QUE RAIO |
Date: |
Tue, 17 Jun 2003 16:42:23 -0300 (ART) |
So pra constar Rodolfo, testei no Bash e no Korn Shell
funcionou legal.
$ cat /etc/slackware-version
Slackware 9.0.0
$ ls /var/log/packages/ | grep ksh
ksh93-20011031-i386-2
$ ls /var/log/packages/ | grep bash
bash-2.05b-i386-2
[]'s
Frederico Argolo
--- Rodolfo Villanova
<address@hidden>
escreveu: > He, he!
>
> Não sei como é no Bash, mas nos ambiente Korn Shell
> do True64 e de SunOs não "funfou" direito:
>
> $ dir_usr=$(echo '/home/meudir/teste/' | sed
> 's/\//\\/g')
> $ echo $dir_usr
> \home\meudir este\
>
> Ele interpretou o "\t" do diretório "\teste" com se
> fosse uma tabulação ("\t")!
>
> Ainda não sei quase nada de sed (ainda estou fazendo
> um monte de besteira), por isso faço minhas
> experiências malucas.
> Acrescentei uma "escapada" no diretório que começa
> com a letra "t", e daí "funfou"!
> Eu faria um sed pra pesquisar o string de entrada e,
> caso encontrasse algum caracter que seja possível
> ser interpretado não intencionalmente pelo shell
> ("\t", "\n", "\c"), incluiria um "back slash" ("\")
> antes do "slash" ("/") anterior a uma dessas letras
> (t,n,c).
>
> $ dir_usr=$(echo "/home/meudir\/teste/" | sed
> 's/\//\\/g')
> $ echo $dir_usr
> \home\meudir\teste\
>
> Deixo a cargo de nossos mestres nalista montar a
> instrução sed pra fazer isso, se eles dispuserem de
> tempo.
>
> Grato,
> Rodolfo Villanova
>
>
> -----Mensagem original-----
> De: Frederico Argolo
> [mailto:address@hidden]
> Enviada em: terça-feira, 17 de junho de 2003 15:47
> Para: address@hidden
> Assunto: Re: [shell-script] Barra invertida - QUE
> RAIO
>
>
>
> Alexandre, o seu comando esta correto
>
> Agora sinceramente nao sei pq nao esta funcionando,
> mas dei uma testada, faz assim q funciona:
>
> dir_usr=$(echo '/home/meudir/teste/' | sed
> 's/\//\\/g')
>
> []'s
> Frederico Argolo
>
> --- Mateus Caruccio <address@hidden>
> escreveu: >
> > opa,
> >
> > use outro caracgtere separador, como uma
> virgula:
> >
> > sed -e 's,\,/,'
> >
> > Mateus
> >
> > ----- Original Message -----
> > From: "Alexander F. Fernandes - Esc. EDEM"
> > <address@hidden>
> > Date: Tue, 17 Jun 2003 13:46:14 +0000
> > To: address@hidden
> > Subject: [shell-script] Barra invertida - QUE RAIO
> >
> > > Olá!
> > >
> > > Estou tentando substituir as barras de um
> caminho
> > de diretório por barras
> > > invertidas.
> > >
> > > No prompt do bash eu consigo sem problemas com:
> > >
> > > # echo "/home/meudir/teste/" | sed 's/\//\\/g'
> > >
> > > Mas em um script não dá certo.
> > >
> > > A linha do script está assim:
> > >
> > > dir_usr=`echo '/home/meudir/teste/' | sed
> > 's/\//\\/g'`
> > >
> > > Mas não funciona.
> > >
> > > Já tentei colocar os endereços em aspas duplas,
> > simples, etc, e nada feito.
> > >
> > > O mais engraçado(nem tanto, aliás, não tem graça
> > nenhuma) é que o sed
> > > reconhece a barra "escapada", mas não reconhece
> a
> > barra invertida.
> > >
> > > Alguém pode dar alguma sugestão?
> > >
> > > []'s
> > > Alexander
>
>
>
>
---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
>
---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras
> descritas em: http://br.yahoo.com/info/utos.html
>
>
_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus,
proteção contra spam.
http://br.mail.yahoo.com/