Inicio·Comandos de terminal

join

Procesado de texto

Uso

join -1 1 -2 1 [file1] [file2]

Une dos archivos por un campo común como un join de base de datos; ambos deben estar ya ordenados por ese campo o se pierden líneas en silencio.

Opciones habituales

OpciónSignificado
-1Which field to use in the first file
-2Which field to use in the second file
-tThe field separator, as in -t,
-aAlso print unpaired lines from that file, an outer join
-vPrint only the unpaired lines from that file
-eFill missing fields with this string
-oChoose which fields the output holds

Ejemplos

join -t, -1 1 -2 1 a.csv b.csv

Inner join on the first column.

join -a1 left.txt right.txt

Keeps the unmatched lines from the left file.

Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace join?

Une dos archivos por un campo común como un join de base de datos; ambos deben estar ya ordenados por ese campo o se pierden líneas en silencio.

Q. ¿Cómo se escribe?

join -1 1 -2 1 [file1] [file2] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 7; la lista completa está en man join. Este comando está en Procesado de texto.

Comandos relacionados

página man: man join