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