fbpx
Wikipedia

cmp

cmp es un comando de la familia de los Sistemas Operativos Unix. Este realiza una comparación binaria, byte a byte, entre dos archivos y muestra el resultado en la salida estándar. En caso de que se indique un solo archivo, toma la entrada estándar como fuente para realizar la comparación.[1]

Modo de uso

La invocación del comando cmp tiene el siguiente formato:

  • cmp [PARÁMETROS]... ARCHIVO1 [ARCHIVO2 [SALTEAR1 [SALTEAR2]]]

Donde ARCHIVO1 es un archivo que se debe indicar obligatoriamente, y si en cambio no se indica ARCHIVO2, cmp utiliza la entrada estándar como fuente para realizar la comparación. También es posible hacer esto usando el guion (-).

Si se invoca el comando pasándole solo los dos archivos, y estos llegaran a ser distintos, cmp muestra en pantalla la posición del primer byte en donde difieren. En caso contrario no muestra nada en pantalla.

Por otro lado es posible indicarle al comando que se saltee una cantidad de bytes del comienzo de cada archivo, esto se define donde se indican SALTEAR1 y SALTEAR2 respectivamente.

Es importante aclarar, que la posición (o número) de los bytes mostrados en pantalla, se comienza a contar a partir de uno (1) y son relativas a la comparación y no del archivo original. Esto implica que si se indica saltear n bytes de un archivo, la primera posición (1) de cmp corresponde a la posición n dentro del archivo.

La comparación binaria se realiza hasta el final de los archivos, siempre y cuando la cantidad de bytes a comparar es la misma. En caso contrario finaliza apenas encuentra la marca de fin de archivo, y cmp indica en pantalla con cual archivo ocurrió.

Los parámetros posibles a utilizar son:

-b, --print-bytes
Imprime los bytes como texto. Útil para archivos que contengan texto.
-i n, --ignore-initial=n
Saltea n bytes del comienzo de ambos archivos.
-i n1:n2, --ignore-initial=n1:n2
Especifica saltear n bytes del comienzo de cada archivo respectivamente.
-l, --verbose
Lista cada byte que difiere, indicando su posición y su valor en decimal.
-n MÁXIMO, --bytes=MÁXIMO
Compara hasta un MÁXIMO de bytes.
-s, --quiet, --silent
No muestra nada en pantalla. Útil para cuando se quiere aprovechar el valor de retorno

Valores retornados

Los valores retornados por cmp tras su ejecución puede ser alguno de los siguientes:[2]

0
Los archivos son idénticos.
1
Los archivos son diferentes.
2
Error de lectura o con los parámetros.

Ejemplos

Teniendo en cuenta los siguientes archivos, dos de texto y otros dos binarios, se desarrollaran las comparaciones entre archivos de igual tipo:

archivo1 archivo2 hex1 hex2
hola mundo! solo mundo 0x00 0x01 0x02 0x10 0x01 0x01 0x02 0x02

1. Comprobar si son idénticos:

$ cmp archivo1 archivo2 $ cmp hex1 hex2
Resultado:
archivo1 archivo2 son distintos: byte 1, línea 1 
hex1 hex2 son distintos: byte 1, línea 1 

2. Listar las diferencias mostrando los bytes, siendo más útil esta última opción para los archivos de texto:

$ cmp -lb archivo1 archivo2 $ cmp -lb hex1 hex2
Resultado:
1 150 h 163 s 4 141 a 157 o 11 41 ! 12 ^J cmp: fin de archivo encontrado en archivo2 
1 0 ^@ 1 ^A 4 20 ^P 2 ^B 
Nota: cada diferencia se lista en una línea (renglón) indicando: n.º de byte (posición), y por cada archivo el valor en decimal y caracter ascii del byte analizado.

3. Listar las diferencias, salteando dos bytes del comienzo de cada archivo y procesar como máximo un solo byte:

$ cmp -n 1 -i 2 archivo1 archivo2 $ cmp -n 1 -i 2 hex1 hex2
Resultado: No muestra nada, dado que los bytes a comparar son idénticos para ambos casos. Los bytes involucrados son el caracter 'l' y el valor hexadecimal 0x02.

Véase también

Enlaces externos

  • Invocación de cmp.

Referencias

  •   Datos: Q641958

comando, familia, sistemas, operativos, unix, este, realiza, comparación, binaria, byte, byte, entre, archivos, muestra, resultado, salida, estándar, caso, indique, solo, archivo, toma, entrada, estándar, como, fuente, para, realizar, comparación, Índice, modo. cmp es un comando de la familia de los Sistemas Operativos Unix Este realiza una comparacion binaria byte a byte entre dos archivos y muestra el resultado en la salida estandar En caso de que se indique un solo archivo toma la entrada estandar como fuente para realizar la comparacion 1 Indice 1 Modo de uso 2 Valores retornados 3 Ejemplos 4 Vease tambien 5 Enlaces externos 6 ReferenciasModo de uso EditarLa invocacion del comando cmp tiene el siguiente formato cmp PARAMETROS ARCHIVO1 ARCHIVO2 SALTEAR1 SALTEAR2 Donde ARCHIVO1 es un archivo que se debe indicar obligatoriamente y si en cambio no se indica ARCHIVO2 cmp utiliza la entrada estandar como fuente para realizar la comparacion Tambien es posible hacer esto usando el guion Si se invoca el comando pasandole solo los dos archivos y estos llegaran a ser distintos cmp muestra en pantalla la posicion del primer byte en donde difieren En caso contrario no muestra nada en pantalla Por otro lado es posible indicarle al comando que se saltee una cantidad de bytes del comienzo de cada archivo esto se define donde se indican SALTEAR1 y SALTEAR2 respectivamente Es importante aclarar que la posicion o numero de los bytes mostrados en pantalla se comienza a contar a partir de uno 1 y son relativas a la comparacion y no del archivo original Esto implica que si se indica saltear n bytes de un archivo la primera posicion 1 de cmp corresponde a la posicion n dentro del archivo La comparacion binaria se realiza hasta el final de los archivos siempre y cuando la cantidad de bytes a comparar es la misma En caso contrario finaliza apenas encuentra la marca de fin de archivo y cmp indica en pantalla con cual archivo ocurrio Los parametros posibles a utilizar son b print bytes Imprime los bytes como texto Util para archivos que contengan texto i i n i ignore initial i n i Saltea n bytes del comienzo de ambos archivos i i n1 i i n2 i ignore initial i n1 i i n2 i Especifica saltear n bytes del comienzo de cada archivo respectivamente l verbose Lista cada byte que difiere indicando su posicion y su valor en decimal n i MAXIMO i bytes i MAXIMO i Compara hasta un MAXIMO de bytes s quiet silent No muestra nada en pantalla Util para cuando se quiere aprovechar el valor de retornoValores retornados EditarLos valores retornados por cmp tras su ejecucion puede ser alguno de los siguientes 2 0 Los archivos son identicos 1 Los archivos son diferentes 2 Error de lectura o con los parametros Ejemplos EditarTeniendo en cuenta los siguientes archivos dos de texto y otros dos binarios se desarrollaran las comparaciones entre archivos de igual tipo archivo1 archivo2 hex1 hex2hola mundo solo mundo 0x00 0x01 0x02 0x10 0x01 0x01 0x02 0x021 Comprobar si son identicos cmp archivo1 archivo2 cmp hex1 hex2Resultado archivo1 archivo2 son distintos byte 1 linea 1 hex1 hex2 son distintos byte 1 linea 12 Listar las diferencias mostrando los bytes siendo mas util esta ultima opcion para los archivos de texto cmp lb archivo1 archivo2 cmp lb hex1 hex2Resultado 1 150 h 163 s 4 141 a 157 o 11 41 12 J cmp fin de archivo encontrado en archivo2 1 0 1 A 4 20 P 2 BNota cada diferencia se lista en una linea renglon indicando n º de byte posicion y por cada archivo el valor en decimal y caracter ascii del byte analizado 3 Listar las diferencias salteando dos bytes del comienzo de cada archivo y procesar como maximo un solo byte cmp n 1 i 2 archivo1 archivo2 cmp n 1 i 2 hex1 hex2Resultado No muestra nada dado que los bytes a comparar son identicos para ambos casos Los bytes involucrados son el caracter l y el valor hexadecimal 0x02 Vease tambien EditarAnexo Programas para Unix diff comm patchEnlaces externos EditarInvocacion de cmp Referencias Editar http www unix com man page Linux 1 cmp http www gnu org software diffutils manual html node Invoking cmp html Datos Q641958 Obtenido de https es wikipedia org w index php title Cmp amp oldid 139473841, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos