Article View: es.comp.os.linux.programacion
Article #710Re: Shell script; mostrar una variable con \ incluidos
From: Pere Pujal i Carabantes
Date: Tue, 19 Sep 2006 22:44
Date: Tue, 19 Sep 2006 22:44
57 lines
2798 bytes
2798 bytes
Hola Marcpp!
El 19-09-2006
Marcpp va escriure en
es.comp.os.linux.programacion:
> Bones
> He estado probando varias cosas mas, pero sigue sin funcionar.
> Una aclaraci�n:
> Tengo el fichero " CopiaLlums 2006-09-09 14;10;08.zip ", para acceder a
> el, por
> ejemplo hacer un... tar -r CopiaLlums\ 2006-09-09\ 14\;10\;08.zip
> tengo que escribir todas las \.
Como ya te han comentado, si lo pones entre comillas te ahorras las barras.
> FT2=fitxtemp2 # Fichero con nombres de archivo con \
> cat $FT2 | while read L
> do
> X=`echo $L | cut -d " " -f 2` # No
Y como tambien te han comentado, las comillas no las pierdes en el echo.
Mira este poco de codigo:
cat fitxers
CopiaLlums 2006-09-09 14;10;08.zip
CopiaLlums\ 2006-09-09\ 14\;10\;08.zip
CopiaLlums\\ 2006-09-09\\ 14\\;10\\;08.zip
#!/bin/bash
cat fitxers|while read 'L'
do
if [[ $L == "CopiaLlums\ 2006-09-09\ 14\;10\;08.zip" ]]
then echo "Bona vvvvvvv";echo $L;echo "Bona ^^^^^^^^^"
else echo "No vvvvvv"; echo $L; echo "No ^^^^^^^^^"
fi
echo
done
La comparacion va a dar como correcta la tercera linea, lo que quiere
decir que las barras las has perdido en el read.
De hecho lo tienes documentado en el man de bash:
A non-quoted backslash (\) is the escape character. It preserves the
literal value of the next character that follows, with the exception
of <newline>
Creo que lo de escapar las barras \\ tambien se habia comentado.
> Salutacions.
Saut
Pere
Technical Details
Message-ID:
<slrneh0smg.acl.ppujalARROBA@hola.fou.net>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!cox.net!news-xfer.cox.net!mainake.escomposlinux.org!escomposlinux.org!news-5.escomposlinux.org!not-for-mailReferences:
<1158596404.702350.284910@k70g2000cwa.googlegroups.com> <slrnegu30o.bqa.ppujalARROBA@hola.fou.net> <1158651997.169407.305980@b28g2000cwb.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,e3d2258794e4e7c7 X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!cox.net!news-xfer.cox.net!mainake.escomposlinux.org!escomposlinux.org!news-5.escomposlinux.org!not-for-mail From: Pere Pujal i Carabantes <"ppujal A R R O B A"@airtel.net> Newsgroups: es.comp.os.linux.programacion Subject: Re: Shell script; mostrar una variable con \ incluidos Date: Tue, 19 Sep 2006 22:44:32 +0000 (UTC) Organization: hola Lines: 57 Message-ID: <slrneh0smg.acl.ppujalARROBA@hola.fou.net> References: <1158596404.702350.284910@k70g2000cwa.googlegroups.com> <slrnegu30o.bqa.ppujalARROBA@hola.fou.net> <1158651997.169407.305980@b28g2000cwb.googlegroups.com> Reply-To: Pere Pujal i Carabantes <ppujal A R R O B A@airtel.net> NNTP-Posting-Host: 105.red-81-34-83.dynamicip.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: news-5.escomposlinux.org 1158706217 9882 81.34.83.105 (19 Sep 2006 22:50:17 GMT) X-Complaints-To: mainake@escomposlinux.org NNTP-Posting-Date: Tue, 19 Sep 2006 22:50:17 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Debian)