Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Arreglar acentos en Unix

325 views
Skip to first unread message

Alvaro Herrera

unread,
Dec 30, 1997, 3:00:00 AM12/30/97
to

On Tue, 30 Dec 1997, Alvaro Herrera wrote:

> En realidad se puede hacer simple o complicado... mira esto:
> #!/usr/bin/perl
Ahora si:

#!/usr/bin/perl
open (DATOS, "-");
open (SALIDA, ">-");
while (<DATOS>) {
s/'a/\xE1/g;
s/'e/\xE9/g;
s/'i/\xED/g;
s/'o/\xF3/g;
s/'u/\xFA/g;
s/n~/\361/g;
print SALIDA $_;}
close DATOS;
close SALIDA;
Ojo, que los acentos son distintos en ASCII que en ANSI (por si lo
quieres usar en Windows).

"El realista sabe lo que quiere; el idealista quiere lo que sabe" (Anonimo)
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GE/S/CS d- s:- a-- C+(++)$ USL++ P++ L++ E--- W+ N++(+) K- w--- O- M-- V?
PE-(--) Y PGP t--- 5-- X-- R- tv- b++>+++ DI++ D+(++) G e+ h! r% y- o? PS+
------END GEEK CODE BLOCK-----
Alvaro Herrera (alvh...@enlaces.c5.cl)


Alvaro Herrera

unread,
Dec 30, 1997, 3:00:00 AM12/30/97
to

On Tue, 30 Dec 1997, Rodrigo Soto wrote:

> Necesito un script para Unix que me permita arreglar los acentos de la
> forma 'e a é (en acento sobre la letra) y tanbien la enhe de 'n a ñ. El
> script debiera recibir desde el STDIN y tirar el resultado al STDOUT
> pues me interesa pipearlo.


En realidad se puede hacer simple o complicado... mira esto:
#!/usr/bin/perl

open (DATOS, "-");
open (SALIDA, ">-");
while (<DATOS>) {

s/\'a/&aacute;/g;
s/\'e/&eacute;/g;
s/\'i/&iacute;/g;
s/\'o/&oacute;/g;
s/\'u/&uacute;/g;
s/n~/&ntilde;/g;
print salida $_;}
close DATOS;
close SALIDA;
Ahora es cuestion de reemplazar los &xacute; por \xHH, donde HH es
el valor correspondiente en hexadecimal de las vocales con acento y
en~es...
PD: A chile.comp.unix, donde corresponde...

"Aprender sin pensar es inútil; pensar sin aprender, peligroso" (Confucio)

Rodrigo Soto

unread,
Dec 30, 1997, 3:00:00 AM12/30/97
to

Hola,

Necesito un script para Unix que me permita arreglar los acentos de la
forma 'e a é (en acento sobre la letra) y tanbien la enhe de 'n a ñ. El
script debiera recibir desde el STDIN y tirar el resultado al STDOUT
pues me interesa pipearlo.

Si alguien me pudiera ayudar le agradecer'ia mucho.

Rodrigo Soto
rs...@cec.uchile.cl

B. Javier S.

unread,
Dec 30, 1997, 3:00:00 AM12/30/97
to

Rodrigo Soto <rs...@cec.uchile.cl> wrote:
>Hola,
>Necesito un script para Unix que me permita arreglar los acentos de la
>forma 'e a é (en acento sobre la letra) y tanbien la enhe de 'n a ñ. El
>script debiera recibir desde el STDIN y tirar el resultado al STDOUT
>pues me interesa pipearlo.

Esta consulta deberia ir a chile.comp.unix...

Puedes reemplazar texto en forma no interactiva con el comando
"sed", cuya sintaxis es similar a la sustitucion del vi.

sed -e 's/<a sustituir>/<lo que sustituye>/g' < infile > outfile

Por ejemplo, para reemplazar la frase "hola" por "chao" en el
archivo "in.txt" y guardar el resultado en el archivo "out.txt", escribes lo
siguiente:

sed -e 's/hola/chao/g' < in.txt > out.txt

Saludos!

--
B. Javier Siu F. (jav...@webhost.cl)
Disclaimer: Mis opiniones son PERSONALES y no representan a nadie mas.
********* This .sig is shareware. NO WARRANTY, use at your own risk ********


Ricardo Lemus

unread,
Dec 30, 1997, 3:00:00 AM12/30/97
to

Aqui va un programita:

#!/bin/sh
#Author: Pepe Flores Peters
# Date: Thu Feb 2 12:35:13 CDT 1995
# Desc:
# acentos :cambia acentos normales a acentos WEB
# acentos -r :cambia acentos WEB a acentos normales
#
USAGE="Usage: acentos [-r] [filename]"

case $# in
0) sed 's/á/\&aacute;/g;
s/é/\&eacute;/g;
s/í/\&iacute;/g;
s/ó/\&oacute;/g;
s/ú/\&uacute;/g;
s/ñ/\&ntilde;/g;
s/Á/\&Aacute;/g;
s/É/\&Eacute;/g;
s/Í/\&Iacute;/g;
s/Ó/\&Oacute;/g;
s/Ú/\&Uacute;/g;
s/Ñ/\&Ntilde;/g' $1 ;;
[12]) case $1 in
-r) sed ' s/\&aacute;/á/g;
s/\&eacute;/é/g;
s/\&iacute;/í/g;
s/\&oacute;/ó/g;
s/\&uacute;/ú/g;
s/\&ntilde;/ñ/g;
s/\&Aacute;/Á/g;
s/\&Eacute;/É/g;
s/\&Iacute;/Í/g;
s/\&Oacute;/Ó/g;
s/\&Uacute;/Ú/g;
s/\&Ntilde;/Ñ/g' $2 ;;
*) echo Invalid option $1
echo $USAGE ;;
esac ;;
*) echo $USAGE ;;
esac


--
Ricardo J. Lemus C. http://araucaria.cec.uchile.cl/~rlemus
mailto:rle...@dcc.uchile.cl Ayudante Proyecto Enlaces - Mece
mailto:rle...@enlaces.c5.cl Rick Imp Comics Mud (mud.cec.uchile.cl 4040)
Facultad de Ciencias Fisicas y Matematicas Universidad de Chile

"Lastima que los hombres no se puedan rebootear..."
YO

0 new messages