File1.txt
id No
gi|371443199|gb|JH556661.1| 7907290
gi|371443198|gb|JH556662.1| 7573913
gi|371443197|gb|JH556663.1| 7384412
gi|371440577|gb|JH559283.1| 6931777
File2.txt
id P R S
gi|367088741|gb|AGAJ01056324.1| 5 5 0
gi|371443198|gb|JH556662.1| 2 2 0
gi|367090281|gb|AGAJ01054784.1| 4 4 0
gi|371440577|gb|JH559283.1| 21 19 2
output.txt
id P R S NO
gi|371443198|gb|JH556662.1| 2 2 0 7573913
gi|371440577|gb|JH559283.1| 21 19 2 6931777
File1.txt tiene dos columnas y File2.txt tiene cuatro columnas. Quiero unir ambos archivos que tienen una identificación única (la matriz [1] debe coincidir en ambos archivos (file1.txt y file2.txt) y dar a la salida solo la identificación coincidente (ver output.txt).
He tratado join -v <(sort file1.txt) <(sort file2.txt)
. Cualquier ayuda con awk o unirse a los comandos solicitados.
tac
?sort
coloca la cadena del encabezado al final. En realidad es una solución sucia. Y en general, el encabezado del caso puede ir al centro de la salida. Sin embargo funciona aquí.Una forma de usar
awk
:Contenido de
script.awk
:Ejecútalo como:
Con el siguiente resultado:
fuente