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

Re: uso de sed



El sed es uno de los comandos más "entrañables" del Unix, junto con el grep y el awk.
Efectivamente, la solución correcta es la dada Santiago:

sed -e "s/á/\\\'a/g" nom.fich

¿Por qué?

la barra invertida \ (o escape), se utiliza para eliminar el significado especial que
determinados caracteres poseen para el shell (que, utilizando un spanglish muy simpático,
solemos denominar como "escapar"). Entre estos, tanto la propia barra invertida como el
apóstrofe tienen un significado especial. En la tentativa de Ignacio, la barra de más a la
derecha sirve para eliminar el significado especial del apóstrofe y que este se tome
literalmente, de modo que se utilice la cadena 'a en la sustitución. La primera barra
invertida, por tanto, queda sin otra barra invertida que le quite el significado, por lo que
el shell la interpreta de un modo especial y dicha barra no llega al sed. Es lo mismo  que si
escribiéramos "s/á/\'a/g". Para que aparezca dicha barra, por tanto, hay que poner una tercera
barra invertida: \\\'a. Fijaos que la primera barra sirve para quitarle el significado
especial a la segunda y la tercera para quitárselo al apóstrofe. De esta manera el literal que
se utilizará para la sustitución será \'a, como quería Ignacio.

Saludos,

begin:vcard 
n:Catalina Esteban;Carlos
tel;cell:656399380
tel;work:913987675
x-mozilla-html:TRUE
url:http://www.iued.uned.es/iued/tecinfor
org:Unidad Técnica de Investigación y Formación en Recursos Tecnológicos;Intituto Universitario de Educación a Distancia - UNED
adr:;;Edificio de Psicología - Ciudad Universitaria;Madrid;Madrid;;España
version:2.1
email;internet:ccatalina@ati.es
title:Coordinador Técnico
fn:Carlos Catalina Esteban
end:vcard

Reply to: