
He visto aparecer el comando cat en algunas cosas en línea y tenía curiosidad por saber qué cat
era y para qué sirve en el contexto de alguien que simplemente está haciendo algunas cosas simples en la línea de comandos.
Respuesta1
cat
El objetivo principal es estafar.gatocrear archivos. cat file1 file2 ...
mostrará el contenido de file
, file2
y los demás uno tras otro, como si los contenidos estuvieran en un solo archivo. Ver elpágina de manual:
NAME
cat - concatenate and print files
Está pensado para su uso en los siguientes casos:
un comando de destino no puede leer archivos y es necesario pasarle varios archivos. Un ejemplo es el
tr
utilidad. Normalmente, con un archivo, harías:tr < file
Pero con varios archivos, no se puede utilizar la redirección, por lo que debe hacer:
cat file1 file2 ... | tr
- un comando objetivopoderlee desde varios archivos, pero su comportamiento puede cambiar cuando se le proporcionan varios archivos. Un ejemplo es
wc
, que imprime los recuentos de cada archivo, junto con los nombres de los archivos, donde es posible que desee solo el total, sin un nombre de archivo.
Recuerde que la mayoría de los comandos que encuentre ( grep
, sed
, awk
, sort
, ...) pueden leer archivos perfectamente.
Si quieresvistael contenido de un archivo,usar unabuscapersonas-less
ymore
Ambos son eminentemente capaces de presentar archivos para su visualización y son mucho más cómodos de usar.
Respuesta2
cat
es uno de los comandos más utilizados en sistemas operativos tipo Unix. Tiene tres funciones relacionadas con respecto a los archivos de texto:
- mostrándolos
- combinando copias de ellos
- creando otros nuevos.
- Copiar archivos
La sintaxis general de cat es:
cat [options] [filenames] [-] [filenames]
Leyendo archivos
El uso más común de cat es leer el contenido de archivos y cat suele ser el programa más conveniente para este propósito. Todo lo que se necesita para abrir un archivo de texto para verlo en el monitor es escribir la palabra gato seguida de un espacio y el nombre del archivo y luego presionar la tecla ENTER. Por ejemplo, lo siguiente mostrará el contenido de un archivo llamado archivo1:
cat file1
Concatenación
La segunda función del gato es la concatenación. (Esta es la fuente del curioso nombre del gato). No tiene ningún efecto en los archivos originales.
Por ejemplo, el siguiente comando concatenará copias del contenido de los tres archivos archivo1, archivo2 y archivo3:
cat file1 file2 file3
El contenido de cada archivo se mostrará en la pantalla del monitor. Esta salida podría redirigirse fácilmente usando el operador de redirección de salida a otro archivo, como file4, usando lo siguiente:
cat file1 file2 file3 > file4
Creación de archivos
Gracias a@murucomentario :cat es capaz de crear nuevos archivos dependiendo de la función de redirección del shell y no de sí mismo
Para archivos pequeños, esto suele ser más fácil que usar vi, gedit u otros editores de texto. Se logra escribiendo cat seguido del operador de redirección de salida y el nombre del archivo a crear, luego presionando ENTERy finalmente presionando simultáneamente las teclas Ctrl& .d
Por ejemplo, se puede crear un nuevo archivo llamado archivo1 escribiendo
cat > file1
luego presione ENTERy presione simultáneamente las teclas Ctrl& .d
PS1: si ya existe un archivo llamado file1, se sobrescribirá
PS2: puede agregar al archivo salido usando >>
el ejemplo del operador de agregar gato >> archivo1
Copiar archivos
El comando cat también se puede utilizar (dependienteen la función de redirección de shell) para crear un nuevo archivo y transferirle los datos de un archivo existente. Ejemplo: hacer una copia del archivo oldfile.txt
:
cat oldfile.txt > newfile.txt
Referencias:
Respuesta3
Se puede utilizar para mostrar el contenido de un archivo. P.ej: cat "my file.txt"
. También puedes hacer man cat
para mostrarte los detalles sobre cat
para qué se puede utilizar.
Respuesta4
Aquí estáde otra manerapara la creación de archivos usando la redirección de shell (o tubería) y cat
:
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
generará las siguientes líneas hasta que EOF
se vuelva a encontrar la cadena. Luego >
( >>
) redirigirá la salida al archivo foo.sh
. Alternativamente, si necesita crear un archivo como raíz, puede canalizar la salida al comando tee
( tee -a
), ejecutado por el comando sudo
:
cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
- Lo anterior hará que el archivo sea ejecutable (
chmod +x
) si se crea correctamente (&&
). - El significado especial de algunos caracteres (como
$
) se debe utilizar como escape (con\
) en la salida decat
.