Antes de pasar a los ejemplos prácticos, descubre algunos términos. ¿A qué nos referimos cuando hablamos de “líneas” y de “caracteres”? Seguramente podemos responder a estas preguntas intuitivamente, pero en el entorno digital estrictamente reglamentado, debemos saberlo a ciencia cierta.
A nivel interno, un archivo de texto es una cadena de caracteres única y continua. El final de cada línea está marcado simplemente con un carácter llamado “nueva línea”. En función del sistema operativo, el carácter utilizado con este fin puede ser distinto, lo que puede conllevar algún problema. En Linux, es el carácter LF (Line feed) el que marca la nueva línea.
Al utilizar la opción '-c' / '--bytes', se supone que un byte corresponde exactamente a un carácter. Esto funciona para el conjunto de caracteres ASCII, pero en otras situaciones puede dar problemas. El conjunto de caracteres Unicode, ampliamente extendido hoy en día, es una codificación de caracteres “multibyte”. Es decir, para representar un único carácter, hay que utilizar varios bytes. Si aplicamos el comando de Linux Head en archivos de texto Unicode, esto puede tener consecuencias. Así, utilizar la opción '-c' puede hacer que una diéresis (por ejemplo, “ü” se convierta en la vocal correspondiente (“u”).