Ich habe zwei Textdateien:Linux - Suchen Text in einer Datei und kommen in einer anderen Datei
File-1
:
PRKCZ
TNFRSF14
PRDM16
MTHFR
File-2
(enthält zwei Registerkarten Spalten getrennt):
atherosclerosis GRAB1|PRKCZ|TTN
cardiomyopathy,hypercholesterolemia PRKCZ|MTHFR
Pulmonary arterial hypertension,arrhythmia PRDM16|APOE|GATA4
Nun, für jeden Namen in File-1
, drucken Sie auch die entsprechenden Krankheiten Namen von File-2
, wo es übereinstimmt. So würde der Ausgang sein:
PRKCZ atherosclerosis,cardiomyopathy,hypercholesterolemia
PRDM16 Pulmonary arterial hypertension,arrhythmia
MTHFR cardiomyopathy,hypercholesterolemia
ich den Code versucht:
$ awk '{k=$1}
NR==FNR{if(NR>1)a[k]=","b"="$1";else{a[k]="";b=$1}next}
k in a{print $0a[k]}' File1 File2
aber ich erhielt keine gewünschte Ausgabe. Kann jemand bitte korrigieren/helfen.