Re: egrep en castellano vs egrep en inglés
El miércoles, 30 sep 2015 a las 16:28 UTC
Camaleón escribió:
> El Wed, 30 Sep 2015 18:20:58 +0200, Manolo Díaz escribió:
>
> > El miércoles, 30 sep 2015 a las 15:45 UTC Camaleón escribió:
> >
> >> El Wed, 30 Sep 2015 17:13:13 +0200, Manolo Díaz escribió:
> >>
> >> > El miércoles, 30 sep 2015 a las 14:31 UTC Camaleón escribió:
> >> >
> >> >> Buscando en Google he visto que esta "característica" está
> >> >> documentada en la versión de grep que tienes (2.21), vamos, que ni
> >> >> bug ni fantasmas ni gaitas... misterio resuelto:
> >> >>
> >> >> http://savannah.gnu.org/forum/forum.php?forum_id=8152
> >> >>
> >> >> If a file contains data improperly encoded for the current locale,
> >> >> and this is discovered before any of the file's contents are output,
> >> >> grep now treats the file as binary.
> >> >>
> >> >>
> >> > Extraño. Así que caracteres que son inválidos en utf8 pueden no serlo
> >> > en C. Creía que el último era un subconjunto de cualquier otro.
> >>
> >> Lo que sucede es que el archivo "passwd" está codificado en "iso-8859"
> >> y grep está usando utf-8 de ahí que lo interprete mal y en la nueva
> >> versión te lo detecta como binario.
> >
> > Por lo que sé está codificado en ascii.
>
> (...)
>
> No, la tabla de caracteres iso-8859 no es la misma que la tabla de
> caracteres ascii, obviamente.
¿Y? Esas tablas son superconjuntos o ampliaciones de ascii
(compatibilidad hacia atrás). Si un fichero, p.ej. /etc/passwd, pasa el
test ascii, si solo contienen esos caracteres, por fuerza ha de pasar
*cualquiera* de los test iso-8859-* y utf8.
> Si un documento codificado en iso-8859-1 incluye un carácter que no está
> en ascii N o lo conviertes a ascii o al leerlo te aparecen caracteres
> extraños. Lo mismo pasa con utf-8 (quienes trabajan con archivos de texto
> habitualmente sufren estos problemas en sus propias carnes).
Ese es un caso distinto al que estamos tratando. De hecho es el caso
inverso.
> Saludos,
Saludos
--
Manolo Díaz
Reply to: