LPIC

Guía extraoficial de estudio

Comandos para combinar ficheros: cat, join y paste

Combinar ficheros con cat

Aunque este comando es utilizado para mostrar el contenido de ficheros pequeños, lo cierto es que és una herramienta para combinar ficheros (cat es abreviatura de concatenar). Utilizando este comando con una redirección de salida, se puede combinar dos ficheros en uno:

cat fichero_1.txt fichero2.txt > fichero_combinado.txt

Algunas de las opciones que ofrece son:

Flag Resultado
-E o –show-ends Muestra el signo dolar al final de cada linia ($)
-n o –number Numera las lineas al comienzo de cada una
-b o –number-nonblank Solo numera las lineas que contienen texto
-s o –squeeze-blank Substituye los grupos de lineas en blanco por una sola
-T o –show-tabs Muestra los carácteres de tabulación como ^I
El comando tac (cat al revés), invierte el orden de las lineas al mostrarlas

Asociar de ficheros por campos con join

Este comando combina dos ficheros según el campo que hayamos especificado. Por defecto join tiene en cuenta el primer campo para realizar la combinación.

Si fichero1.txt contiene:

08020 sant marti
03030 sant andreu

y el fichero2.txt:

telefono 999933993
telefono 223232323

Vemos que sucede al ejecutar el comando join:

[super@super Documents]$ join fichero1.txt fichero2.txt
08020 sant marti telefono 999933993
03030 sant andreu telefono 223232323

En el siguiente caso, mezclamos tomando como referencia los campos número dos de ambos ficheros:

join -1 2 -2 2 fichero1.txt fichero2.txt

-1 y -2 hacen referencia al fichero según el orden por el que es introducido en el comando. En este caso “-1” es fichero1.txt porque lo escribimos antes, y “-2” fichero2.txt.  El dígito que ponemos después de este sirve para indicar por que campo de este fichero queremos asociar, en este caso hemos escogido el campo dos de los dos ficheros.

Es importante que los ficheros estén ordenados por el campo que se van a mezclar.

Fusionar líneas con paste

La función de este fichero es la de fusionar ficheros línea a línea, separando las líneas de cada fichero mediante tabulaciones.

Teniendo en cuenta que el contenido de fichero1.txt y fichero2.txt es el mismo que en el ejemplo anterior, el resultado de este comando:

[super@super Documents]$ paste fichero1.txt fichero2.txt

sería:

08020 sant marti    telefono 999933993
03030 sant andreu    telefono 223232323
Para que el resultado tenga sentido, los ficheros deben tener el mismo número líneas.
Anuncios

Una respuesta a “Comandos para combinar ficheros: cat, join y paste

  1. emmandeb 22 noviembre, 2011 en 07:17

    muy buena info carnal 🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: