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

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: