Tengo un archivo que solo tiene una línea. Su tamaño es de aproximadamente 20,000 bytes.
El archivo ha sido modificado, y quería saber dónde.
Pensé en usar diff, pero me muestra la línea completa, porque genera la línea que tiene la diferencia, pero en este caso es la única línea en el archivo que tiene diferencias.
Así que quería ver cuál es la diferencia.
¿Algún consejo?
Respuestas:
Suponiendo que hay muchos espacios en blanco, como en el texto normal, puede dividir el archivo por palabras y compararlo con una herramienta de diferencias normal, por ejemplo, fusionar:
fuente
Encontraría una diferencia que hace diferencias dentro de la línea. Yo uso xxdiff en UNIX. Creo que WinMerge hace diferencia entre líneas en Windows.
Las otras respuestas también son buenas: wdiff, o dividirse en fragmentos: los límites de los fragmentos son más fáciles de definir si los datos están delimitados por una tubería o una coma.
fuente
Si este es un problema de una sola vez, crearía copias de los archivos con
\n
caracteres insertados cada 50 caracteres, luego diferiría esas copias. (Elegí 50 porque hace que las matemáticas sean fáciles de pasar de un número de línea diferente a un desplazamiento de bytes en los archivos originales, pero podría ajustarlo hacia arriba / abajo según lo que encontré).fuente