Comando Linux join

Linux 命令大全Manual completo de comandos de Linux

El comando Linux join se usa para unir las líneas con el mismo contenido en los campos especificados de dos archivos.

Encuentra las líneas con el mismo contenido en los campos especificados de dos archivos, las combina y las envía al dispositivo de salida estándar.

Sintaxis

join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]

Parámetros:

  • -a<1 o 2> Además de mostrar el contenido de salida original, también muestra las líneas de los archivos especificados en el comando que no tienen el mismo campo.
  • -e<cadena> Si no se encuentra el campo especificado en [archivo1] y [archivo2], se rellena la salida con la cadena de la opción.
  • -i o --igore-case Al comparar el contenido de los campos, ignora las diferencias de mayúsculas y minúsculas.
  • -o<formato> Muestra el resultado según el formato especificado.
  • -t<carácter> Utiliza el carácter separador de campos.
  • -v<1 o 2> Igual que -a, pero solo muestra las líneas de los archivos que no tienen el mismo campo.
  • -1<campo> Une el campo especificado del [archivo1].
  • -2<campo> Une el campo especificado del [archivo2].
  • --help Muestra la ayuda.
  • --version Muestra la información de versión.

Ejemplos

Conectar dos archivos.

Para entender claramente el comando join, primero muestre el contenido de los archivos testfile_1 y testfile_2 mediante el comando cat.

Luego compare los dos archivos de la manera predeterminada, conecte las líneas con el mismo contenido de campo en los dos archivos, e ingrese el comando en la terminal:

join testfile_1 testfile_2 

Primero vea el contenido de los archivos testfile_1 y testfile_2:

$ cat testfile_1 #testfile_1文件中的内容  
Hello 95 #例如,本例中第一列为姓名,第二列为数额  
Linux 85  
test 30  
cmd@hdd-desktop:~$ cat testfile_2 #testfile_2文件中的内容  
Hello 2005 #例如,本例中第一列为姓名,第二列为年份  
Linux 2009  
test 2006 

Luego use el comando join para conectar los dos archivos, el resultado es el siguiente:

$ join testfile_1 testfile_2 #连接testfile_1、testfile_2中的内容  
Hello 95 2005 #连接后显示的内容  
Linux 85 2009  
test 30 2006 

La posición del archivo1 y el archivo2 afecta el resultado enviado a la salida estándar. Por ejemplo, si se intercambian los dos archivos en el comando, es decir, ingrese el siguiente comando:

join testfile_2 testfile_1

Finalmente, el resultado en la salida estándar cambiará, como se muestra a continuación:

$ join testfile_2 testfile_1 #改变文件顺序连接两个文件  
Hello 2005 95 #连接后显示的内容  
Linux 2009 85  
test 2006 30 

Linux 命令大全Manual completo de comandos de Linux

Otras extensiones