He visto el comando cat aparecer en algunas cosas en línea y tenía curiosidad por saber qué cathizo y para qué sirve en el contexto de alguien que solo está haciendo algunas cosas simples de la línea de comandos.
fuente
He visto el comando cat aparecer en algunas cosas en línea y tenía curiosidad por saber qué cathizo y para qué sirve en el contexto de alguien que solo está haciendo algunas cosas simples de la línea de comandos.
cat's objetivo principal es con gato archivos Enate. cat file1 file2 ...mostrará los contenidos de file, file2y los otros uno tras otro, como si los contenidos estuvieran en un solo archivo. Ver la página de manual :
NAME
cat - concatenate and print files
Está destinado para el uso donde:
un comando de destino no puede leer archivos y debe pasarle varios archivos. Un ejemplo es la trutilidad. Por lo general, con un archivo, haría:
tr < file
Pero con varios archivos, la redirección no se puede usar, por lo que debe hacer lo siguiente:
cat file1 file2 ... | tr
wc, que imprime los recuentos de cada archivo, junto con los nombres de los archivos, donde podría haber deseado solo el total, sin un nombre de archivo.Recuerde que la mayoría de los comandos que encuentro ( grep, sed, awk, sort, ...) puede leer archivos perfectamente bien.
Si desea ver el contenido de un archivo, use un buscapersonas , lessy moreambos son muy capaces de presentar archivos para su visualización, y son mucho más convenientes de usar.
< <(cat file[12]) trasí como también<<<$(cat file[12]) trson formas perfectamente válidas para redirigir múltiples archivos. Por supuesto, también necesitacateso, solo que las tuberías no son la única forma.cates uno de los comandos más utilizados en sistemas operativos tipo Unix. Tiene tres funciones relacionadas con los archivos de texto:La sintaxis general de cat es:
Lectura de archivos
El uso más común de cat es leer el contenido de los archivos, y cat es a menudo el programa más conveniente para este propósito. Todo lo que se necesita para abrir un archivo de texto para ver 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:
Concatenación
El segundo papel del gato es la concatenación. (Esta es la fuente del curioso nombre del gato). No hay ningún efecto en los archivos originales.
Por ejemplo, el siguiente comando concatenará copias de los contenidos de los tres archivos archivo1, archivo2 y archivo3:
El contenido de cada archivo se mostrará en la pantalla del monitor. Esta salida podría redirigirse fácilmente con el operador de redirección de salida a otro archivo, como el archivo 4, usando lo siguiente:
Creación de archivos
Gracias al comentario de @muru : cat es capaz de crear nuevos archivos dependiendo de la función de redirección de shell y no de sí mismo
Para archivos pequeños, esto es a menudo más fácil que usar vi, gedit u otros editores de texto. Se logra escribiendo cat seguido por el operador de redirección de salida y el nombre del archivo que se creará, luego presionando ENTERy finalmente presionando simultáneamente las teclas Ctrl& d.
Por ejemplo, un nuevo archivo llamado archivo1 se puede crear escribiendo
luego presione ENTERy simultáneamente presione las teclas Ctrl& d.
PS1: si ya existe un archivo llamado archivo1, se sobrescribirá
PS2: puede agregar al archivo salido utilizando el operador de agregar
>>ejemplo cat >> file1Copiar archivos
El comando cat también se puede usar ( según 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:Referencias
fuente
catno está creando esos archivos, el shell es cuando usaste la redirección. Es posible que lo hayas hecho bienecho foo > file1.catlo que realmente está haciendo otra cosa. Por ejemplo, hacerless file1 > file2(ogrep '.*' file1 > fileoawk 1 file1 > file2o ...) tiene el mismo efecto. Lo mismo para 4. Estos son solo malos usos.> filey dar el mismo resultado, pero ¿no puedo considerar válido hacerlo con cat?catno se está creando el archivo. Decir quecatcrea o copia el archivo es simplemente falso.Se puede usar para mostrar el contenido de un archivo. Por ejemplo:
cat "my file.txt". También puede hacerman catpara mostrarle los detalles sobre para quécatse puede utilizar.fuente
Aquí hay otra forma de creación de archivos mediante redirección de shell (o canalización) y
cat:cat << EOFmostrará las siguientes líneas hasta que la cadenaEOFse encuentre nuevamente. Luego>(>>) redirigirá la salida al archivofoo.sh. Alternativamente, si necesita crear un archivo como root, puede canalizar la salida al comandotee(tee -a), ejecutado por el comandosudo:chmod +x) si se creó con éxito (&&).$) debe escaparse (con\) dentro de la salida decat.fuente