¿Cómo puedo ignorar los finales de línea al comparar archivos?

83

Estoy comparando dos archivos de texto y obtengo el siguiente resultado:

diff file1 file2 | grep 12345678

> 12345678
< 12345678

Como puede ver, la misma cadena existe en ambos archivos y ambos archivos se ordenaron con sort.

Los finales de línea deben interponerse aquí (Windows vs. Unix).

¿Hay alguna forma de diffignorar los finales de línea en Unix?

vikingsteve
fuente
4
diff --strip-trailing-cr file1 file2?
Ruslan Osmanov
@RuslanOsmanov suena como una respuesta, gracias. Por cierto, ¿es lo mismo que -w?
vikingsteve
3
No, -wignora las diferencias en los espacios en blanco y "White space" characters include tab, vertical tab, form feed, carriage return, and space. Por ejemplo, diff a bmostrará la diferencia para "línea" y <tab>line, pero diff -w a bno lo hará
Ruslan Osmanov
@RuslanOsmanov Esa es una buena explicación, ¿le importaría cambiarla a una respuesta para que pueda aceptarla?
vikingsteve
¿Responde esto a tu pregunta? ¿Diferencia agnóstica de final de línea? . Casi 9 años antes.
Peter Mortensen

Respuestas:

135

Utilice la --strip-trailing-cropción:

diff --strip-trailing-cr file1 file2

La opción hace diffque se elimine el carácter de retorno del carro final antes de comparar los archivos.

Ruslan Osmanov
fuente
8
¡Gracias! Intenté usar diff -wque dio resultados similares, pero esta es la respuesta más correcta.
vikingsteve