Unix - Caracteres acentuados en Unix

 
Vista:

Caracteres acentuados en Unix

Publicado por Nieto (1 intervención) el 08/08/2007 13:22:03
Hola a todos,

Tengo el siguiente problema. Partiendo de un fichero XML en formato UTF-8, me he creado un script que sustituye una serie de carácteres por otros.
El script corre en un servidor LINUX ( NO Unix) y es tan simple como podeis ver a continuación:

#!/usr/bin/ksh

cat $1 | sed 's/é/e/g' > $2
cat $1 | sed 's/ö/o/g' > $2
cat $1 | sed 's/ë/e/g' > $2
cat $1 | sed 's/ü/u/g' > $2
cat $1 | sed 's/¿//g' > $2
cat $1 | sed 's/ / /g' > $2
cat $1 | sed 's/ó/o/g' > $2
cat $1 | sed 's/á/a/g' > $2
cat $1 | sed 's/ç/c/g' > $2
cat $1 | sed 's/õ/o/g' > $2
cat $1 | sed 's/ñ/n/g' > $2
cat $1 | sed 's/è/e/g' > $2
cat $1 | sed 's/í/i/g' > $2
cat $1 | sed 's/ô/o/g' > $2

Este script ( en LINUX) funciona correctamente.

El problema viene cuando lo paso a un servidor UNIX. El mismo script, abierto en UNIX resulta lo siguiente:

#!/usr/bin/ksh

cat $1 | sed 's/\351/e/g' > $2
cat $1 | sed 's/\366/o/g' > $2
cat $1 | sed 's/\353/e/g' > $2
cat $1 | sed 's/\374/u/g' > $2
cat $1 | sed 's/\277//g' > $2
cat $1 | sed 's/ / /g' > $2
cat $1 | sed 's/\363/o/g' > $2
cat $1 | sed 's/\341/a/g' > $2
cat $1 | sed 's/\347/c/g' > $2
cat $1 | sed 's/\365/o/g' > $2
cat $1 | sed 's/\361/n/g' > $2
cat $1 | sed 's/\350/e/g' > $2
cat $1 | sed 's/\355/i/g' > $2
cat $1 | sed 's/\364/o/g' > $2

Y al ejecutarlo, no funciona.

Mi pregunta es, como puedo hacer para poder escribir caracteres como é,ö,ë,ü,ó,á...... en el terminal Unix.?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder