- Cat (Unix)
-
cat (Unix)
El comando cat (por concatenar) es un programa de Unix usado para concatenar y mostrar archivos.Contenido
Especificación
La Single Unix Specification establece que cat escribirá a la salida estándar el contenido de cada uno de los archivos dados como argumentos, en el mismo orden en el que fueron dados, y obliga el uso de una opción, -u, con la que cada byte se imprime en cuanto se lee.
Si uno de los archivos especificados es -, cat leerá de la entrada estándar cuando llegue a él. Si no se especifica ningún archivo, cat leerá sólo de la entrada estándar.
Extensiones
Las dos versiones principales de cat (la de OpenBSD y la de GNU coreutils), especifican, en su página de man, las siguientes opciones:
- -b (sólo GNU: --number-nonblank), numerar las líneas que no estén en blanco.
- -n (sólo GNU: --number), numerar todas las líneas.
- -s (sólo GNU: --squeeze-blank), juntar en una sola las líneas en blanco sucesivas.
- -v (sólo GNU: --show-nonprinting), muestra los caracteres de control como si fueran visibles, con la excepción de los tabuladores y el fin de línea.
- -t en BSD, -T en GNU, incluye a -v y además muestra los tabuladores como ^I.
- -e en BSD, -E en GNU, incluye a -v y además muestra los caracteres de fin de línea como $.
UUOC
UUOC (de comp.unix.shell en Usenet) significa "Useless Use of cat" (uso inútil de cat en inglés). Como observa la sabiduría de comp.unix.shell, "El propósito de cat es concatenar archivos. Si se trata de un solo archivo, concatenarlo con nada es una pérdida de tiempo, y te cuesta un proceso". Sin embargo, no es raro ver usuarios ejecutando
cat archivo | algún_comando con argumentos...
en lugar del equivalente y más económico
<archivo algún_comando con argumentos...
o (en un estilo más clásico)
algún_comando con argumentos... <archivo
Desde 1995 se dan de vez en cuando premios por UUOC, usualmente por el genio de Perl Randal L. Schwartz.
Véase también
- coreutils
- split; parte un archivo en pedazos que luego pueden volverse a unir con cat.
Enlaces externos
- cat: especificación de la SUS (en inglés).
- cat(1) página de man de GNU coreutils (en inglés).
- cat(1) página de man de OpenBSD (en inglés).
- Premios UUOC (en inglés).
Categoría: Programas del estándar UNIX
Wikimedia foundation. 2010.