Buscar..


Sintaxis

  • gato [OPCIONES] ... [ARCHIVO] ...

Parámetros

Opción Detalles
-norte Imprimir números de línea
-v Mostrar caracteres no imprimibles utilizando la notación ^ y M, excepto LFD y TAB
-T Mostrar los caracteres TAB como ^ I
-MI Mostrar caracteres de salto de línea (LF) como $
-mi Igual que -vE
-segundo Número de líneas de salida no vacías, anulaciones -n
-UNA equivalente a -vET
-s suprimir líneas de salida vacías repetidas, s se refiere a apretar

Observaciones

cat puede leer tanto de archivos como de entradas estándar y los concatena a una salida estándar

Impresión del contenido de un archivo

cat file.txt

imprimirá el contenido de un archivo.

Si el archivo contiene caracteres no ASCII, puede mostrar esos caracteres simbólicamente con cat -v . Esto puede ser muy útil para situaciones donde los caracteres de control serían invisibles.

cat -v unicode.txt

Sin embargo, muy a menudo, para el uso interactivo, es mejor usar un buscapersonas interactivo con less o more . ( less es mucho más poderoso que more y se recomienda usar less más frecuencia que more ).

less file.txt

Para pasar el contenido de un archivo como entrada a un comando. Un enfoque generalmente visto como mejor ( UUOC ) es utilizar la redirección.

tr A-Z a-z <file.txt   # as an alternative to cat file.txt | tr A-Z a-z

En caso de que el contenido deba aparecer al revés desde su extremo, se puede usar el comando tac :

tac file.txt

Si desea imprimir el contenido con números de línea, use -n con cat :

cat -n file.txt

Para mostrar el contenido de un archivo en una forma de byte por byte completamente inequívoca, un volcado hexadecimal es la solución estándar. Esto es bueno para fragmentos muy breves de un archivo, como cuando no se conoce la codificación precisa. La utilidad de volcado hexadecimal estándar es od -cH , aunque la representación es un poco incómoda; Los reemplazos comunes incluyen xxd y hexdump .

$ printf 'Hëllö wörld' | xxd
0000000: 48c3 ab6c 6cc3 b620 77c3 b672 6c64       H..ll.. w..rld

Mostrar números de línea con salida

Use la --number de número para imprimir los números de línea antes de cada línea. Alternativamente, -n hace lo mismo.

$ cat --number file

 1  line 1
 2  line 2
 3
 4  line 4
 5  line 5

Para omitir líneas vacías al contar líneas, use --number-nonblank , o simplemente -b .

$ cat -b file

 1  line 1
 2  line 2

 3  line 4
 4  line 5

Leer de entrada estándar

cat < file.txt

La salida es la misma que cat file.txt , pero lee el contenido del archivo desde la entrada estándar en lugar de hacerlo directamente desde el archivo.

printf "first line\nSecond line\n" | cat -n 

El comando echo antes | Salidas de dos lineas. El comando cat actúa sobre la salida para agregar números de línea.

Concatenar archivos

Este es el propósito principal del cat .

cat file1 file2 file3 > file_all

cat también se puede utilizar de forma similar para concatenar archivos como parte de una canalización, por ejemplo,

cat file1 file2 file3 | grep foo

Escribir en un archivo

cat >file

Le permitirá escribir el texto en el terminal que se guardará en un archivo llamado archivo .

cat >>file

hará lo mismo, excepto que agregará el texto al final del archivo.

NB: Ctrl + D para finalizar la escritura de texto en el terminal (Linux)


Un documento aquí se puede usar para integrar el contenido de un archivo en una línea de comandos o un script:

cat <<END >file
Hello, World.
END

El token después del símbolo de redirección << es una cadena arbitraria que debe aparecer sola en una línea (sin espacios en blanco al principio o al final) para indicar el final del documento aquí. Puede agregar comillas para evitar que el shell realice la sustitución de comandos y la interpolación de variables:

cat <<'fnord'
Nothing in `here` will be $changed
fnord

(Sin las comillas, here se ejecutaría como un comando, y $changed sería sustituido con el valor de la variable changed , o nada, si no estaba definida).

Mostrar caracteres no imprimibles

Esto es útil para ver si hay caracteres no imprimibles o caracteres no ASCII.

por ejemplo, si ha copiado y copiado el código de la web, puede tener citas como lugar de estándar " .

$ cat -v file.txt
$ cat -vE file.txt # Useful in detecting trailing spaces.

p.ej

$ echo '”     ' | cat -vE # echo | will be replaced by actual file.
M-bM-^@M-^]     $

También es posible que desee utilizar cat -A A (A para todos) que es equivalente a cat -vET . Mostrará caracteres TAB (mostrados como ^I ), caracteres no imprimibles y final de cada línea:

$ echo '” `' | cat -A
M-bM-^@M-^]^I`$

Concatenar archivos comprimidos

Los archivos comprimidos por gzip se pueden concatenar directamente en archivos gzip más grandes.

cat file1.gz file2.gz file3.gz > combined.gz

Esta es una propiedad de gzip que es menos eficiente que concatenar los archivos de entrada y gzipping el resultado:

cat file1 file2 file3 | gzip > combined.gz

Una demostración completa:

echo 'Hello world!' > hello.txt
echo 'Howdy world!' > howdy.txt
gzip hello.txt 
gzip howdy.txt

cat hello.txt.gz howdy.txt.gz > greetings.txt.gz

gunzip greetings.txt.gz

cat greetings.txt

Lo que resulta en

Hello world!
Howdy world!

Observe que greetings.txt.gz es un solo archivo y se descomprime como el único archivo greeting.txt . Contrasta esto con tar -czf hello.txt howdy.txt > greetings.tar.gz , que mantiene los archivos separados dentro del tarball.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow