mandato cmp
Finalidad
Compara el contenido de dos archivos e informa del primer carácter que difiere.
Sintaxis
Descripción
El mandato cmp compara los archivos designados por los parámetros File1 y File2 y escribe los resultados en la salida estándar. Si especifica un - (signo menos) para el parámetro File1 o File2 , el mandato cmp lee la entrada estándar para ese archivo. Sólo se puede leer un archivo de la entrada estándar. En condiciones predeterminadas, el mandato cmp no muestra nada si los archivos son iguales. Si difieren, el mandato cmp muestra el byte y el número de línea en los que se produce la primera diferencia. Si se especifica el distintivo -l y si un archivo es una subsecuencia inicial del otro (es decir, si el mandato cmp lee un carácter de fin de archivo en un archivo antes de encontrar diferencias), el mandato cmp lo anota. Normalmente, utilice el mandato cmp para comparar archivos que no son de texto y el mandato diff para comparar archivos de texto.
Distintivos
| Elemento | Descripción |
|---|---|
| -l | (L minúscula) Muestra, para cada diferencia, el número de bytes en decimal y los bytes diferentes en octal. |
| -s | Devuelve sólo un valor de salida. Un valor de 0 indica archivos idénticos; un valor de 1 indica archivos diferentes; un valor de 2 indica un archivo inaccesible o una opción que falta. |
Estado de salida
Este mandato devuelve los siguientes valores de salida:
| Elemento | Descripción |
|---|---|
| 0 | Los archivos son idénticos. |
| 1 | Los archivos son diferentes. Este valor se proporciona incluso si un archivo es una subsecuencia inicial del otro (un archivo es idéntico a la primera parte de la otra). |
| > 1 | Se ha producido un error. |
Ejemplos
- Para determinar si dos archivos son idénticos, especifique:
Esto compara prog.o.baky prog.o. Si los archivos son idénticos, no se visualiza un mensaje. Si los archivos difieren, se muestra la ubicación de la primera diferencia; por ejemplo:cmp prog.o.bak prog.o
Si el mensajecmp: EOF on prog.o.bakse visualiza, a continuación, la primera parte deprog.oes idéntico aprog.o.bak, pero hay datos adicionales enprog.o.prog.o.bak prog.o differ: char 4, line 1 - Para visualizar cada par de bytes que difieren, entre:cmp -l prog.o.bak prog.oEsto compara los archivos y, a continuación, muestra el número de bytes (en decimal) y los bytes diferentes (en octal) para cada diferencia. Por ejemplo, si el quinto byte es octal 101 enprog.o.baky 141 enprog.o, el mandato cmp muestra:
5 101 141 - Para comparar dos archivos sin escribir ningún mensaje, especifique:cmp -s prog.c.bak prog.cEsto proporciona un valor de salida de0si los archivos son idénticos, un valor de1si es diferente, o un valor de2si se produce un error. Esta forma del mandato se utiliza normalmente en procedimientos de shell. Por ejemplo:Se visualiza este procedimiento de shell parcialNo changesi los dos archivos son idénticos.
Archivos
| Elemento | Descripción |
|---|---|
| /usr/bin/cmp | Contiene el mandato cmp . |