Category Archives: Cat

El comando Cat en Unix

El comando cat concatena archivos y/o los muestra como salida. Supongamos que tenemos un archivo llamado Madrigal.txt que contiene lo siguiente:

Ojos claros, serenos,
si de un dulce mirar sois alabados,
¿por que si me mirais mirais airados?
si cuanto mas piadosos,
mas bellos pareceis,
a aquel que os mira
no me mireis con ira,
porque no parezcais menos hermosos.
¡Ay tormentos rabiosos!
ojos claros, serenos,
ya que asi me mirais, miradme al menos.

Post scriptum:
Este madrigal es del poeta español
Gutierre de Cetina

Desde la linea de comandos, sin usar un editor, podemos ver el contenido de este archivo con el comando cat:

$ cat Madrigal.txt

que muestra exactamente el texto anterior. Ahora supongamos que tenemos otro archivo, llamado Muerte.txt con lo siguiente:

Desde mis ojos insomnes
mi muerte me está acechando,
me acecha, sí, me enamora
con su ojo lánguido.
¡Anda, putilla del rubor helado,
anda, vámonos al diablo!

La instrucción

$ cat Madrigal.txt Muerte.txt

Presenta los dos textos uno a continuación del otro.

cat acepta las opciones:

-n Numera todas las lineas. Así la instrucción

$ cat -n Muerte.txt

Muestra el texto:
1 Desde mis ojos insomnes
2 mi muerte me está acechando,
3 me acecha, sí, me enamora
4 con su ojo lánguido.
5 ¡Anda, putilla del rubor helado,
6 anda, vámonos al diablo!

– b Numera sólo las líneas que no están en blanco.

$ cat -b Madrigal.txt

Muestra:

1 Ojos claros, serenos,
2 si de un dulce mirar sois alabados,
3 ¿por que si me mirais mirais airados?
4 si cuanto mas piadosos,
5 mas bellos pareceis,
6 a aquel que os mira
7 no me mireis con ira,
8 porque no parezcais menos hermosos.
9 ¡Ay tormentos rabiosos!
10 ojos claros, serenos,
11 ya que asi me mirais, miradme al menos.

12 Post scriptum:
13 Este madrigal es del poeta español
14 Gutierre de Cetina

-E Marca el final de la línea con un $

$ cat -E Muerte.txt

Produce:
Desde mis ojos insomnes$
mi muerte me está acechando,$
me acecha, sí, me enamora$
con su ojo lánguido.$
¡Anda, putilla del rubor helado,$
anda, vámonos al diablo!$

-s Imprime solo la primera de varias líneas en blanco. Sirve para ahorrar espacio en la pantalla:

-v Muestra los caracteres “raros” en el archivo. Por ejemplo

$ cat -vsnE Madrigal.txt

produce:

1 Ojos claros, serenos,$
2 si de un dulce mirar sois alabados,$
3 M-BM-?por que si me mirais mirais airados?$
4 si cuanto mas piadosos,$
5 mas bellos pareceis,$
6 a aquel que os mira$
7 no me mireis con ira,$
8 porque no parezcais menos hermosos.$
9 M-BM-!Ay tormentos rabiosos!$
10 ojos claros, serenos,$
11 ya que asi me mirais, miradme al menos.$
12 $
13 Post scriptum:$
14 Este madrigal es del poeta espaM-CM-1ol$
15 Gutierre de Cetina$

Los caracteres “raros” aquí son ¿, ¡ y ñ, que aparecen com M-BM-

Pero puede pasar que el archivo sea más grande que la pantalla, con lo cual no podremos verlo por completo. para ir avanzando de pantalla en pantala hay que usar | less

$ cat Archivo.txt |less

También es posible redireccionar entrada y salida estándar con cat. La salida por default cuando escribimos el comando cat es la pantalla; todo lo que tecleemos será reproducido como si se tratara de echo. Pero si queremos añadir lo tecleado al final del archivo bien podemos hacerlo con > (Borrar y escribir) o >> (concatenar)

$ cat> Madrigal.txt

y escribimos a continuación

El madrigal mas famoso de la lengua española

(Enter y Ctrl D para terminar)
El contenido de Madrigal.txt será reemplazado por esa línea. (¡Atención: Todo lo anterior será BORRADO!)

Si ahora escribimos:

$ cat>> Madrigal.txt

fue escrito por Gutierre de Cetina
(Enter y Ctrl D)

entonces el archivo ahora contiene:

El madrigal mas famoso de la lengua española
fue escrito por Gutierre de Cetina

Finalmente, la instrucción


$ cat < Muerte.txt >> Madrigal.txt

concatena los archivos. El contenido de Muerte.txt se coloca debajo del de Madrigal.txt.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.793 seguidores