¿Para qué se utiliza 'gato'?

¿Para qué se utiliza 'gato'?

He visto aparecer el comando cat en algunas cosas en línea y tenía curiosidad por saber qué catera y para qué sirve en el contexto de alguien que simplemente está haciendo algunas cosas simples en la línea de comandos.

Respuesta1

catEl objetivo principal es estafar.gatocrear archivos. cat file1 file2 ...mostrará el contenido de file, file2y 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 eltrutilidad. 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 eswc, 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-lessymoreAmbos son eminentemente capaces de presentar archivos para su visualización y son mucho más cómodos de usar.

Respuesta2

cates uno de los comandos más utilizados en sistemas operativos tipo Unix. Tiene tres funciones relacionadas con respecto a los archivos de texto:

  1. mostrándolos
  2. combinando copias de ellos
  3. creando otros nuevos.
  4. 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 catpara mostrarte los detalles sobre catpara 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 << EOFgenerará las siguientes líneas hasta que EOFse 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 de cat.

información relacionada