🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #710

Re: Shell script; mostrar una variable con \ incluidos

#710
From: Pere Pujal i Carabantes
Date: Tue, 19 Sep 2006 22:44
57 lines
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-mail
References: <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)