Tengo un archivo de pestañas grande con 15 columnas (ARCHIVO1) y una lista (ARCHIVO2) de nombres que deberían aparecer en la tabla. El problema es que el nombre puede aparecer en las columnas 4 a 10 en ARCHIVO1 y puede que no coincida entre mayúsculas y minúsculas.
Quiero un comando que busque una línea y luego imprima la línea completa. Preferiblemente, esto no distinguiría entre mayúsculas y minúsculas y no imprimiría líneas donde los nombres en ARCHIVO2 sean parte de una palabra más grande.
He probado lo siguiente:
grep -Fwf FILE2 FILE1 > out
xargs -I {} grep "^{}" FILE1 < FILE2 > out
el primero simplemente copia ARCHIVO1 en salida. El segundo da un archivo en blanco.
También probé algunos awk
comandos que generarán un archivo vacío o, como se indicó anteriormente, copiarán el ARCHIVO1. Estoy tratando de mejorar mis habilidades con Linux en este momento, así que si es posible, si me explicas tu método, te lo agradecería mucho.
Archivo1
tax_id GeneID Symbol LocusTag Synonyms dbXrefs chromosome map_location description type_of_gene Symbol_from_nomenclature_authority Full_name_from_nomenclature_authority Nomenclature_status Other_designations Modification_date
7 5692769 NEWENTRY - - - - - Record to support submission of GeneRIFs for a gene not in Gene (Azotirhizobium caulinodans. Use when strain, subtype, isolate, etc. is unspecified, or when different from all specified ones in Gene.). other - - - - 20160818
9 1246500 repA1 pLeuDn_01 - - - - putative replication-associated protein protein-coding - - - - 20160813
9 1246501 repA2 pLeuDn_03 - - - - putative replication-associated protein protein-coding - - - - 20160716
9 1246502 leuA pLeuDn_04 - - - - 2-isopropylmalate synthase protein-coding - - - - 20160903
9 1246503 leuB pLeuDn_05 - - - - 3-isopropylmalate dehydrogenase protein-coding - - - - 20150520
9 1246504 leuC pLeuDn_06 - - - - isopropylmalate isomerase large subunit protein-coding - - - - 20160806
9 1246505 leuD pLeuDn_07 - - - - isopropylmalate isomerase small subunit protein-coding - - - - 20160730
9 1246509 ibp pBPS1_01 - - - - Ibp protein protein-coding - - - - 20150801
9 1246510 repA1 pBPS1_02 - - - - repA1 protein protein-coding - - - - 20160813
Archivo2
sacX
arcB
metB
sprT
adrB_2
fadD
trpC
ansP2
group_1428
plsX
repA
Respuesta1
Responde en los comentarios de arriba ver las respuestas de @Philippos y @George Vasiliou
Brevemente la respuesta es grep -Fwf FILE2 FILE1 > out
Estaba teniendo un problema por el cual luego ejecuté el comando y copiaría ARCHIVO1. Esto ocurría debido a líneas en blanco al final en ARCHIVO2. Cuando los eliminé, el comando funcionó perfectamente.
Como es posible que parte del texto en los archivos no coincida entre mayúsculas y minúsculas, incluí -i en el comando anterior.
Gracias a todos los que ayudaron.