Pues yo lo haría de una forma más simple que con grep. Esto funciona si los archivos no contienen líneas duplicadas, y lo pongo solamente como ejemplo de una forma que no compara línea por línea
Código BASH:
Ver originallineas_del_archivo= `wc -l <archivo`
lineas_distintas=`sort -u archivo1 archivo2 | wc -l`
if [ $lineas_del_archivo -ne $lineas_distintas ]; then
# la cantidad de líneas es diferente, los archivos son distintos
porcentaje_diferencia = $(( $lineas_distintas / $lineas_del_archivo * 100 ))
else
porcentaje_diferencia = 0
fi
La idea es que si los archivos son idénticos, el número de líneas luego de "sort -u" es igual al número de líneas del archivo original. Como mencioné antes, es solamente un ejemplo ya que no funciona si hay líneas duplicadas en los archivos.
Saludos.