Comparación de archivos o directorios

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio > 

Comparación de archivos o directorios

Para comparar solamente archivos o directorios locales debe dárselos como argumentos al comando diff. En este caso, si suministra dos argumentos (por ejemplo, dos rutas de acceso a archivos) al comando diff, se interpretará primero el argumento del lado izquierdo de la comparación y después el del derecho.

 

<exec> diff file1.txt file2.txt --mode=text

 

Si suministra tres argumentos se hará una comparación a tres bandas y los argumentos se interpretarán primero en el lado izquierdo de la comparación, después en el medio y por último en el lado derecho.

 

<exec> diff file1.xml file2.xml file3.xml --mode=xml

 

Nota:aunque no es obligatorio, para obtener mejores resultados recomendamos definir la opción --mode como text, binary o xml. De lo contrario, la aplicación tendría que determinar automáticamente si está comparando archivos o directorios, lo que podría producir resultados no deseados. En el primer ejemplo de más arriba el modo de comparación es text, ya que se comparan dos archivos de texto. En el segundo ejemplo el modo es xml, ya que se comparan tres archivos XML.
 

Como alternativa puede definir los lados derecho e izquierdo de la comparación con opciones en lugar de argumentos. Por ejemplo, el siguiente comando compara dos archivos XML en un equipo en el que se está ejecutando DiffDog Client y las dos rutas se dan como opciones (no como argumentos):

 

<exec> diff --client-left=file1.xml --client-right=file2.xml

 

Si indica las rutas de comparación como opciones puede comparar no solo archivos locales del equipo cliente, sino también archivos remotos del equipo en el que se esté ejecutando DiffDog Server. Por ejemplo, el siguiente comando compara dos archivos de texto de los cuales el izquierdo se encuentra en el cliente y el derecho en el servidor.

 

<exec> diff --client-left=file1.txt --server-right=file2.txt

 

Nota:la sintaxis de la ruta debe ser válida para el sistema operativo en el que se encuentra el archivo. Por ejemplo, si el cliente se ejecuta en Windows y el servidor en Linux, entonces debe usar una ruta con formato Windows para --client-left y una ruta con formato Linux para --server-right.

 

Si quiere realizar comparaciones a tres bandas, añada una tercera opción (bien --client-middle o --server-middle, en función de dónde esté el ancestro común). En el siguiente ejemplo el ancestro común es el archivo file2.csv, que se encuentra en el servidor, mientras que los archivos derecho e izquierdo (file1.csv, file3.csv) están en el equipo cliente.

 

<exec> diff --client-left=file1.csv --server-middle=file2.csv --client-right=file3.csv

 

Si el administrador de servidor ha restringido el acceso a las rutas del servidor por razones de seguridad ya no podrá hacer comparaciones que hagan referencia directa a rutas de servidor (véase Restringir el acceso a las rutas de servidor). En su lugar deberá indicar el nombre de un alias con la opción --alias.

 

Por ejemplo, el siguiente comando compara dos archivos que están en el cliente con otro que está en el servidor. Se asume que un administrador ya ha definido un alias llamado "public" en el servidor.

 

<exec> diff --client-left=file1.txt --server-right=file2.txt --mode=text --alias=public

 

Para consultar la lista de alias definidos en el servidor, ejecute el comando aliases. Para guardar un alias como predeterminado, defina la opción server-alias en el archivo de configuración del cliente. Así ya no necesita especificar un alias en la línea de comando.

 

Nota: los nombres de los alias distinguen entre mayúsculas y minúsculas.


© 2019 Altova GmbH