awk porównaj 2 pliki, 2 pola różnej kolejności w pliku, wydrukuj lub scal dopasowanie i nie pasuje do linii

Mam dwa pliki i muszę porównać drugie pole z File1 i pierwsze pole z File2. Jeśli istnieje dopasowanie do wydrukowania drugiego pola File2 i całej linii dopasowanej z File1 Jeśli nie ma dopasowania do wydrukowania „NOT FOUND” i całej linii z File1

Plik1

\\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

Plik2

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

Pożądane wyjście:

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

Jeśli numer pola do porównania jest tym samym numerem pola w obu plikach, ten wiersz działa:

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

Ale tutaj nie działa, ponieważ w tym przypadku mam inny numer pola do porównania z obu plików.

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion