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

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

Re: Exibição da barra invertida


From: Luis Fernando C. Talora
Subject: Re: Exibição da barra invertida
Date: Thu, 13 Oct 2005 15:46:30 -0000
User-agent: eGroups-EW/0.82

Caro Tiago,

Tentei sua sugestão, mas não certo... Aí descobri o
problema: o comando "read" trata a barra invertida 
como um caractere de escape por padrão. Para suprimir 
esse comportamento, bastou usar "read -r",
ficando assim:

-------------------------------------------
(...)
while read -r DATA HORA TAM NOME ; do
(...)
done < $1
-------------------------------------------

Isso resolveu o problema.

Obrigado pela ajuda!

[]´s

Luís Talora

--- Em address@hidden, Tiago Barcellos Peczenyj
<tiago.peczenyj@g...> escreveu
> faça:
> 
> DATA=${DATA//\\\\/\/}
> 
> ele vai trocar todos os \ por /  -- ${var//texto/novo}        Substitui
> 'texto' por 'novo', sempre
> 
> agora eu não sei por que tem que colocar 4 \ pra funcionar...
> 
> Em 13/10/05, Luis Fernando C. Talora<talora-listas@t...> escreveu:
> >  Pessoal,
> >
> >  Fiz um script para ler um arquivo gerado via DOS, com o seguinte
> >  formato:
> >
> >  ----------------------------------------------
> >  Directory of D:\network\usu\fulano
> >  11/10/05   13:21   356.254.300 porcarias.pst
> >  11/10/05   13:21   200.001.200 besteiras.pst
> >  Directory of D:\network\usu\ciclano
> >  11/10/05   13:21   128.006.222 lix.pst
> >  Directory of D:\network\usu\fulano
> >  11/10/05   13:21   256.003.565 asneiras.pst
> >  11/10/05   13:21     1.306.245 nhacas.pst
> >  ----------------------------------------------
> >
> >  Eis o Script:
> >
> >  ----------------------------------------------
> >  #!/bin/bash
> >  while read DATA HORA TAM NOME ; do
> >      # echo "DATA=$DATA HORA=$HORA TAM=$TAM NOME=$NOME DIR=$DIR"
> >      if [ ${DATA:0:1} == "D" ] ; then
> >          DIR=$TAM
> >      else
> >          echo "$DATA $HORA $TAM $NOME $DIR"
> >      fi
> >  done < $1
> >  ----------------------------------------------
> >
> >  O script funciona redondo, exceto pela exibição de $DIR. Por
> >  exemplo:
> >  ao invés de exibir "D:\network\usu\fulano", está sendo
exibido
> >  "D:networkusufulano". A causa disso, com toda certeza, é o uso
> >  reservado do caracter "\". Tentei até usar o "tr" para
converter
> >  "\" em "/" mas, apesar de funcionar na linha de comando, no
> >  script não deu certo.
> >
> >  Alguém pode me dar uma dica de como exibir isso? Se não
houver
> >  necessidade de substituir a barra invertida, melhor ainda.
> >
> >  Obrigado mais uma vez!
> >
> >  []´s
> >
> >  Luís Talora
> >
> >
> >
> >
> > ----------------------------------------------
-----------------------
> >  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
> > ----------------------------------------------
-----------------------
> >
> >
> >
> >
> >  Yahoo! Grupos, um serviço oferecido por:
> >
> >  ________________________________
> >  Links do Yahoo! Grupos
> >
> >
> > Para visitar o site do seu grupo na web, acesse:
> > http://br.groups.yahoo.com/group/shell-script/
> >
> > Para sair deste grupo, envie um e-mail para:
> > address@hidden
> >
> > O uso que você faz do Yahoo! Grupos está sujeito aos Termos
do
Serviço do
> > Yahoo!.



reply via email to

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