lunes, 25 de julio de 2016

cat

El programa cat tiene un gran número de opciones interesantes. Muchas de ellas se usan para ayudarnos a visualizar mejor el contenido del texto. Un ejemplo es la opción -A, que se usa para mostrar caracteres no imprimibles en el texto. Hay veces que queremos saber si los caracteres de control están incrustados en nuestro texto visible. Los más comunes son los caracteres de tabulación (en lugar de espacios) y retornos de carro, a menudo presentes como caracteres de fin de línea en archivos de texto estilo MS-DOS. Otra situación común es un archivo que contiene líneas de texto con espacios al final.

Creemos un archivo de prueba usando cat como un procesador de texto primitivo. Para hacerlo, simplemente introduciremos el comando cat (sólo especificando un archivo para redirigir la salida) y escribiremos nuestro texto, seguido de Enter para terminar la línea apropiadamente, luego Ctrl-d para indicar a cat que hemos alcanzado el final del archivo. En este ejemplo, introducimos un carácter tabulador al principio y continuamos la línea con algunos espacios al final:

[me@linuxbox ~]$ cat > foo.txt
     The quick brown fox jumped over the lazy dog.
[me@linuxbox ~]$

A continuación, usaremos cat con la opción -A para mostrar el texto:

[me@linuxbox ~]$ cat -A foo.txt
^IThe quick brown fox jumped over the lazy dog.   $
[me@linuxbox ~]$

Como podemos ver en los resultados, el carácter tabulador en nuestro texto se representa como ^I. Es una notación común que significa "Control-I" que, resulta ser igual que un carácter de tabulación. También vemos que aparece un $ al final real de la línea, indicando que nuestro texto contiene espacios al final.

cat también tiene opciones que se usan para modificar texto. Las dos más destacadas son -n, que numera las líneas, y -s, que suprime la salida de líneas en blanco múltiples. Podemos demostrarlo así:

[me@linuxbox ~]$ cat > foo.txt
The quick brown fox


jumped over the lazy dog.
[me@linuxbox ~]$ cat -ns foo.txt
    1     The quick brown fox
    2
    3     jumped over the lazy dog.
[me@linuxbox ~]$

En este ejemplo, hemos creado una nueva versión de nuestro archivo de prueba foo.txt, que contiene dos líneas de texto separadas por dos líneas en blanco. Tras procesarlo con cat con las opciones -ns, la línea en blanco extra se elimina y el resto de líneas son numeradas. Aunque no es un proceso muy grande a realizar sobre el texto, es un proceso.

No hay comentarios:

Publicar un comentario