Ich möchte die erste Spalte von zwei (Tab-getrennte) Dateien vergleichen. Wenn es eine Übereinstimmung gibt, drucken Sie alles aus einer Datei 1. ZB:awk Suche Spalte in einer Datei, um zu sehen, ob es mit einem der Werte in der zweiten Datei übereinstimmt
Datei 1
MOS A 141282 141938
LEE A 11121 14597
TOD B 19237 20373
LEA,DOT A 1 1000
MAS,ALE C 24597 24599
Datei 2
LEE
LEA
ALE
EEL
gewünschte Ausgabe:
LEE A 11121 14597
LEA,DOT A 1 1000
MAS,ALE C 24597 24599
Jetzt kann ich Holen Sie es, um genaue Übereinstimmungen in Spalte 1 zu finden, indem Sie Folgendes verwenden:
awk 'NR==FNR { a[$1] =$1; next} $1 in a {print $0}' file2 file1
die gibt:
LEE A 11121 14597
Aber ich bin ein wenig ratlos, wie es 1 Einträge in Spalte abholen zu machen, wo es mehr als ein Wort aufgeführt ist. Ich möchte jede Zeile drucken, die die gesuchten Wörter enthält, unabhängig davon, ob sie auch andere (unwichtige) Wörter haben. So wie ich es erkennen, dass
LEA,DOT A 1 1000
MAS,ALE C 24597 24599
auch die Worte ich suche, und sie in der Ausgabedatei drucken? Vielen Dank!