Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/05/2012, 13:15
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: programacion de la shell de linux para comparar ficheros

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 original
  1. lineas_del_archivo= `wc -l <archivo`
  2. lineas_distintas=`sort -u archivo1 archivo2 | wc -l`
  3.  
  4. if [ $lineas_del_archivo -ne $lineas_distintas ]; then
  5.     # la cantidad de líneas es diferente, los archivos son distintos
  6.     porcentaje_diferencia = $(( $lineas_distintas / $lineas_del_archivo * 100 ))
  7. else
  8.     porcentaje_diferencia = 0
  9. 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.