GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos de comandos Cat para administrar archivos en Linux / UNIX

El comando cat es uno de los comandos básicos que aprendiste cuando te iniciaste en el mundo Unix/Linux.

Ya sabes que cat muestra el contenido de un archivo. ¿Qué más podría hacer este comando?

Este tutorial brinda 10 ejemplos prácticos de uso para el comando cat. Probablemente algunos de estos ejemplos podrían ser nuevos para usted. O bien, podría ser un repaso para usted, si ya conocía estos ejemplos.

1. Mostrar el contenido de un archivo

Cuando pasa el nombre del archivo como argumento a cat, muestra el contenido del archivo como se muestra a continuación.

$ cat program.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

También puede mostrar el contenido de más de un archivo como se muestra a continuación.

$ cat program.pl program2.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

2. Crear un nuevo archivo

Usando el comando cat, las líneas recibidas desde stdin se pueden redirigir a un nuevo archivo usando símbolos de redirección.

Cuando escribe simplemente el comando cat sin ningún argumento, solo recibe el contenido de la entrada estándar y lo muestra en la salida estándar. Entonces, después de escribir la línea una vez, cuando presiona Intro, la misma línea se imprime en la línea siguiente, como se ve a continuación.

$ cat
cat command for file oriented operations.
cat command for file oriented operations.
cp command for copy files or directories.
cp command for copy files or directories.

También puede redirigir la salida estándar a un nuevo archivo como se muestra a continuación.

$ cat >cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.

A veces, es posible que deba agregar el contenido a un archivo, use el símbolo de redirección como se muestra a continuación.

$ cat >>cmd_usage.txt
ls command to list out file and directory with its attributes.

$ cat cmd_usage.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out file and directory with its attributes.

3. Copiar contenido del archivo

Los símbolos de redirección en Unix juegan un papel importante en el procesamiento del contenido del descriptor de archivo estándar. Utilizándolo, puede copiar el contenido de un archivo en otro como se muestra a continuación.

$ cat program.pl >backup_prgm.pl

Como se vio anteriormente, dado que usamos la redirección de salida, el contenido que se muestra en la salida estándar se dirige a un nuevo archivo llamado backup_pgrm.pl. Ver el contenido de backup_pgrm.pl:

$ cat backup_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}

4. Concatenar Contenidos de Múltiples Archivos

A través del comando cat, podrá concatenar contenidos de más de un archivo en un archivo nuevo.

Por ejemplo, los códigos de program.pl y program2.pl se combinan en un nuevo archivo all_pgrm.pl.

$ cat program.pl program2.pl >all_pgrm.pl

Como se vio anteriormente, la salida estándar se redirige y el nuevo archivo se ha creado con el contenido de program.pl y program2.pl. Verifique el contenido de all_pgrm.pl:

$ cat all_pgrm.pl
#!/usr/bin/perl

if( 2 ge 3) {
print "greater\n";
}else {
print "lesser\n";
}
#!/usr/bin/perl

@arr = qw(1 2 3);
$ref = \@arr;
print ref $ref;

5. Mostrar números de línea

Para mostrar el contenido de un archivo con el número de línea delante de cada línea, use la opción -n. El siguiente ejemplo, imprime el número de línea para las líneas de program.pl,

$ cat -n program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9
10

Como notó anteriormente, incluso las líneas vacías están numeradas. En caso de numerar solo líneas no vacías, use la opción -b de la siguiente manera,

$ cat -b program.pl
1 #!/usr/bin/perl

2     
3 if( 2 ge 3) {
4 print "greater\n";
5 } else {
6 print "lesser\n";
7 }

Tenga en cuenta que las líneas que contienen espacios en blanco no se consideran líneas vacías y lo mismo se aplica a la línea número 2.

6. Concatenar el contenido del archivo junto con la entrada desde Stdin

Existe la posibilidad de leer líneas desde stdin junto con la concatenación de otros archivos. Por lo tanto, el usuario puede escribir su propio contenido cuando sea necesario.

En el siguiente ejemplo, puede insertar algunas líneas (desde stdin) al principio mientras combina archivos.

$ cat - program.pl program2.pl >all_pgrm.pl
Contents from file : program.pl, program2.pl

Como se vio arriba, – es el lugar donde puede leer desde stdin, en consecuencia, se ha insertado 1 línea desde stdin al comienzo de un nuevo archivo llamado all_pgrm.pl con el último contenido de los archivos program.pl y program2.pl:

$ cat -n all_pgrm.pl
1 Contents from file : program.pl, program2.pl
2 #!/usr/bin/perl
3
4
5 if( 2 ge 3) {
6 print "greater\n";
7 } else {
8 print "lesser\n";
9 }
10
11
12 #!/usr/bin/perl
13
14 @arr = qw(1 2 3);
15 $ref = \@arr;
16 print ref $ref;

7. No mostrar líneas de salida vacías repetidas

A veces, el archivo contiene líneas vacías repetidas que no desea mostrar en la salida estándar mientras lo enumera. El comando cat proporciona una opción llamada -s que suprimirá las líneas de salida vacías consecutivas en una y se muestra.

Como se notó en el primer ejemplo del uso 5 (es decir, Mostrar con el número de línea delante de cada línea), hay dos líneas de salida vacías consecutivas en el archivo program.pl numeradas 9 y 10. Puede ser que no desee mostrar esas líneas de salida vacías repetidas. Esto se puede suprimir como se muestra a continuación:

# cat -sn program.pl
1 #!/usr/bin/perl
2
3 
4 if( 2 ge 3) {
5 print "greater\n";
6 } else {
7 print "lesser\n";
8 }
9

Respectivamente, las líneas 9 y 10 se suprimen en una línea vacía en la salida anterior (es decir, la línea 9).

8. Mostrar caracteres de fin de línea y TAB

Puede hacer que el gato muestre el carácter $ al final de cada línea. Normalmente, al enumerar el contenido de los archivos, los usuarios no pueden identificar los espacios en blanco al final de cada línea mediante la opción cat -e.

Por ejemplo, use la opción -e en el archivo program.pl. Como se muestra a continuación, la tercera línea de este archivo (es decir, program.pl) en realidad no es una línea vacía y, además, la línea 7 termina con espacios en blanco, respectivamente.

$ cat -ne program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 print "greater\n";$
6 } else {$
7 print "lesser\n";      $
8 }$
9 $
10 $

Use la opción -T para mostrar los caracteres de tabulación. Muestra ^I para el carácter TAB. Como se muestra a continuación, la línea 5 y la línea 7 comienzan con un carácter TAB.

$ cat -neT program.pl
1 #!/usr/bin/perl$
2 $
3     $
4 if( 2 ge 3) {$
5 ^Iprint "greater\n";$
6 } else {$
7 ^Iprint "lesser\n";      $
8 }$
9 $
10 $

9. Leer contenido hasta un patrón específico

El documento aquí se puede utilizar junto con el comando cat. Por ejemplo, cuando está leyendo desde stdin, puede leer hasta una línea que contiene un patrón específico. En el siguiente ejemplo, el bloque de líneas se lee desde stdin (hasta EOF) y se imprime en la salida estándar.

$ cat <<EOF
> mv command to move files and directories
> top command to display linux tasks
> EOF
mv command to move files and directories
top command to display linux tasks

10. Mostrar el contenido del archivo al revés

Este ejemplo es un tramposo. Este no es realmente un ejemplo de comando cat, pero está relacionado.

tac es el reverso de cat. Como puede imaginar, tac simplemente mostrará el contenido de un archivo en orden inverso (las líneas de abajo se muestran primero). Si solo desea invertir los caracteres en la línea, debe usar el comando rev.

Por ejemplo, el archivo program.pl se muestra al revés como:

$ tac program.pl 

}
	print "lesser\n";           
} else {
	print "greater\n";
if( 2 ge 3) {

#!/usr/bin/perl

Linux
  1. Ejemplos importantes de comandos Cat en Linux

  2. 5 ejemplos de comandos Wget para descargar archivos en Linux.

  3. 7 ejemplos de comandos de parches para aplicar archivos de parches de diferencias en Linux

  4. 14 ejemplos útiles de comandos "cat" en Linux

  5. Ejemplos de comandos de archivo en Linux

Comando lsof en Linux (10 ejemplos)

Comando táctil en Linux (5 ejemplos)

Uso de Cat Command en Linux con ejemplos

Cat Command en Linux:ejemplos esenciales y avanzados

Comando ls en Linux/UNIX

Ejemplos de comandos cat de Linux