awk vergleicht 2 Dateien, 2 Felder in unterschiedlicher Reihenfolge in der Datei, druckt oder verschmilzt übereinstimmende und nicht übereinstimmende Zeilen

Ich habe zwei Dateien und muss das zweite Feld von Datei1 und das erste Feld von Datei2 vergleichen. Wenn eine Übereinstimmung zum Drucken des zweiten Felds von Datei2 und der gesamten Zeile von Datei1 vorliegt. Wenn keine Übereinstimmung zum Drucken von "NOT FOUND" und der gesamten Zeile von Datei1 vorliegt

Datei1

\\FILESERV04\PCO;S:\CA\USII ECOM;/FS7_434D/FILESERV04/BUSII;;;;\\FILESERV04\PCO\;467,390,611 Bytes;11,225 ;157 
\\FILESERV12\MINE$;S:\CA\Naka;/FS3_434D/FILESERV12/NAKA;;;;\\FILESERV12\MINE$\;0 Bytes;0 ;0 
\\FILESERV12\INTEG$;S:\CA\PLOTA;/FS3_434D/FILESERV12/INTEG;;;;\\FILESERV12\INTEG$\;231,094,432,158 Bytes;175,180 ;21,309 
\\FILESERV15\ED$;S:\CA\ED;/FS3_434D/FILESERV12/ED;;;;\\FILESERV15\ED$\;244,594,432,158 Bytes;145,040 ;21,311

Datei2

S:\CA\USII ECOM;782
S:\CA\PLOTA;0
S:\CA\Naka;781

Gewünschte Ausgabe:

782;\\FILESERV04\PCO;S:\CA\USII ECOM;/FS7_434D/FILESERV04/BUSII;;;;\\FILESERV04\PCO\;467,390,611 Bytes;11,225 ;157 
781;\\FILESERV12\MINE$;S:\CA\Naka;/FS3_434D/FILESERV12/NAKA;;;;\\FILESERV12\MINE$\;0 Bytes;0 ;0 
0;\\FILESERV12\INTEG$;S:\CA\PLOTA;/FS3_434D/FILESERV12/INTEG;;;;\\FILESERV12\INTEG$\;231,094,432,158 Bytes;175,180 ;21,309 
NOT FOUND;\\FILESERV15\ED$;S:\CA\ED;/FS3_434D/FILESERV12/ED;;;;\\FILESERV15\ED$\;244,594,432,158 Bytes;145,040 ;21,311

Wenn die zu vergleichende Feldnummer in beiden Dateien dieselbe Feldnummer hat, funktioniert diese Zeile:

awk -F";" 'NR==FNR{a[$1]=$2;next}{if (a[$1])print a[$1]";"$0;else print "Not Found"";" $0;}' File1 File2

Funktioniert hier aber nicht, da ich in diesem Fall unterschiedliche Feldnummern zum Vergleichen von beiden Dateien habe.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage