Comparando dos files en Unix y awk

Tengo que comparar dos files, file1 y file2. Cada file tiene 56 columnas separadas por | . La primera columna es el número de empleado en el file, verificará si el mismo número de empleado está presente en el segundo file o no. Si no, escribiremos toda la fila en el file de salida. Si el mismo número de empleado está presente en el file2, necesito comparar el valor de cada columna. Si los datos no coinciden, debemos escribirlos en el file de salida. Si los valores de cada columna coinciden, entonces debemos omitir ese logging.

Archivo de muestra
Archivo 1

 2620|256034|131021|Mission Quality and Wipro Way||| 2622|256034|131021|Mission Quality and Wipro Way||| 2623|256034|131021|Mission Quality and Wipro Way||| 

Archivo 2

 2620|256034|234567|Mission Quality and Wipro Way||| 2621|256034|131021|Mission Quality and Wipro Way||| 2622|256034|131021|Mission Quality||| 2623|256034|131021|Mission Quality and Wipro Way||| 

Muestra de salida:

 2620|256034|131021|Mission Quality and Wipro Way||| 2621|256034|131021|Mission Quality and Wipro Way||| 2622|256034|131021|Mission Quality||| 

Si los files se orderan mucho más fácil haz la tarea por diff

 comm -13 File1 File2 

Podría usar awk por ej.

 awk -F'|' 'NR==FNR {a[$1]=$0;next;}; !($1 in a) || ($0 != a[$1]);' File1 File2 

Usando su ejemplo File2 y File2

 $ awk -F'|' 'NR==FNR {a[$1]=$0;next;}; !($1 in a) || ($0 != a[$1]);' File1 File2 2620|256034|234567|Mission Quality and Wipro Way

2621|256034|131021|Mission Quality and Wipro Way

2622|256034|131021|Mission Quality