|
|
|
|
|
|
|
DIFF
Section: Herramientas de GNU (1) Updated: 22 Septiembre 1993 Index
Return to Main Contents
NOMBRE
diff - busca diferencias entre dos ficheros
SINOPSIS
diff
[opciones] fichero-origen fichero-destino
DESCRIPCIÓN
En el caso más simple,
diff
compara los contenidos de los dos ficheros
fichero-origen
y
fichero-destino.
Un nombre de fichero
-
significa texto leído desde la entrada estándar. Como un caso especial,
diff - -
compara una copia de la entrada estándar consigo misma.
Si
fichero-origen
es un directorio y
fichero-destino
no lo es,
diff
compara el fichero en
fichero-origen
cuyo nombre sea igual que el de
fichero-destino,
y viceversa. El fichero no directorio no puede ser
-.
Si tanto
fichero-origen
como
fichero-destino
son directorios,
diff
compara los ficheros correspondientes en ambos directorios, en orden
alfabético; esta comparación no es recursiva a menos que se hayan dado
las opciones
-r
o
--recursive.
diff
nunca compara los contenidos reales de un directorio como si fuera un
fichero. El fichero que se especifique completamente no puede ser la
entrada estándar, puesto que la entrada estándar no tiene nombre y la
noción de ``fichero con el mismo nombre'' no puede aplicarse.
Las opciones de
diff
empiezan con
-,
así que normalmente
fichero-origen
y
fichero-destino
no pueden empezar con
-.
Sin embargo,
--
como un argumento solo, trata los restantes argumentos como nombres de
fichero incluso si empiezan con
-.
Opciones
A continuación se presenta un sumario de todas las opciones que
diff
de GNU acepta.
La mayoría de ellas tienen dos nombres equivalentes, uno de los cuales
es una sola letra precedida por
-,
y el otro es un nombre largo precedido por
--.
Varias opciones de una sola letra (a menos que tomen un argumento)
pueden combinarse en una sola palabra de la línea de órdenes:
-ac
es
equivalente a
-a -c.
Las opciones largas pueden abreviarse a un prefijo único de sus
nombres. Los corchetes
([
y
])
indican que una opción toma un argumento opcional.
- -líneas
-
Muestra
líneas
(un entero) líneas de contexto. Esta opción no especifica por sí misma
un formato de salida; no tiene efecto si no se combina con
-c
o
-u.
Esta opción está obsoleta. Para una operación correcta,
patch
necesita típicamente al menos dos líneas de contexto.
- -a
-
Trata todos los ficheros como de texto y los compara línea por línea,
incluso si no parecen ser de texto.
- -b
-
Hace caso omiso de cambios referentes a la cantidad de espacio en blanco.
- -B
-
No hace caso de cambios consistentes en sólo insertar o borrar líneas
en blanco.
- --brief
-
Informa solamente de si los ficheros difieren, no acerca de los
detalles de las diferencias.
- -c
-
Emplea el formato de salida de contexto.
- -C líneas
-
- --context[=líneas]
-
Emplea el formato de salida de contexto, mostrando
líneas
(un entero) líneas de contexto, o tres si
líneas
no se da.
Para una operación correcta,
patch
necesita típicamente al menos dos líneas de contexto.
- --changed-group-format=formato
-
Emplea
formato
para mostrar un grupo de líneas conteniendo líneas que difieren en
ambos ficheros en formato if-then-else (si-entonces-en otro caso).
- -d
-
Cambia el algoritmo para quizás encontrar un conjunto de cambios más
pequeño. Esto hace a
diff
más lento (a veces mucho más lento).
- -D nombre
-
Construye la salida en formato if-then-else mezclada, condicional
según la macro del preprocesador
nombre.
- -e
-
- --ed
-
Hace que la salida sea un guión válido para
ed.
- --exclude=patrón
-
Cuando compara directorios, descarta ficheros y subdirectorios cuyos
nombres base concuerden con
patrón.
- --exclude-from=fichero
-
Cuando compara directorios, descarta ficheros y subdirectorios cuyos
nombres case concuerden con cualquier patrón contenido en
fichero.
- --expand-tabs
-
Expande tabuladores a espacios en la salida, para conservar la
alineación de tabuladores en los ficheros de entrada.
- -f
-
Construye una salida que se parece vagamente a un guión del editor
ed
pero tiene cambios en el orden en que aparecen en el fichero.
- -F expreg
-
En formatos de contexto y unificado, para cada pedazo de diferencias,
muestra algo de la última línea precedente que concuerde con la
expresión regular
expreg.
- --forward-ed
-
Construye una salida que se parece vagamente a un guión del editor
ed
pero tiene cambios en el orden en que aparecen en el fichero.
- -h
-
Esta opción no tiene actualmente efecto; está presente por
compatibilidad con Unix.
- -H
-
Emplea heurística para agilizar el tratamiento de ficheros grandes que
tienen numerosos cambios pequeños dispersos.
- --horizon-lines=líneas
-
No descarta las últimas
líneas
líneas del prefijo común y las primeras
líneas
líneas del sufijo común.
- -i
-
No hace caso de cambios en la caja tipográfica; considera las letras
mayúsculas y minúsculas equivalentes.
- -I expreg
-
Descarta cambios que simplementen inserten o borren líneas que
concuerden con la expresión regular
expreg.
- --ifdef=nombre
-
Construye la salida en formato if-then-else mezclada, condicional
según la macro del preprocesador
nombre.
- --ignore-all-space
-
No hace caso del espacio en blanco cuando compara líneas.
- --ignore-blank-lines
-
No hace caso de cambios que sólo consistan en insertar o borrar líneas
en blanco.
- --ignore-case
-
No hace caso de cambios en la caja tipográfica; considera letras
mayúsculas y minúsculas igual.
- --ignore-matching-lines=expreg
-
No hace caso de cambios que solamente consistan en insertar o borrar
líneas que concuerden con
expreg.
- --ignore-space-change
-
No hace caso de cambios en la cantidad de espacio en blanco.
- --initial-tab
-
Muestra en la salida un tabulador en vez de un espacio antes del texto
de una línea en formato normal o de contexto. Esto hace que la
alineación de tabuladores en la línea se vea normal.
- -l
-
Pasa la salida a través de
pr
para paginarla.
- -L etiqueta
-
- --label=etiqueta
-
Emplea
etiqueta
en vez del nombre del fichero en las cabeceras de formatos de contexto
y unificado.
- --left-column
-
Imprime solamente la columna izquierda de dos líneas comunes en el
formato de lado a lado.
- --line-format=formato
-
Emplea
formato
para mostrar en la salida todas las líneas de entrada en el formato
if-then-else.
- --minimal
-
Cambia el algoritmo para quizás encontrar un conjunto más pequeño de
cambios. Esto hace a
diff
más lento (a veces mucho más lento).
- -n
-
Muestra en la salida diferencias en formato RCS; como
-f
excepto en que cada orden especifica el número de líneas afectadas.
- -N
-
- --new-file
-
En comparaciones de directorio, si se encuentra un fichero en
solamente un directorio, lo trata como presente pero vacío en el otro.
- --new-group-format=formato
-
Emplea
formato
para mostrar en la salida un grupo de líneas tomadas de justo el
segundo fichero en el formato if-then-else.
- --new-line-format=formato
-
Emplea
formato
para mostrar en la salida una línea tomada de justo el
segundo fichero en el formato if-then-else.
- --old-group-format=formato
-
Emplea
formato
para mostrar en la salida un grupo de líneas tomadas de justo el
primer fichero en el formato if-then-else.
- --old-line-format=formato
-
Emplea
formato
para mostrar en la salida una línea tomada de justo el
primer fichero en el formato if-then-else.
- -p
-
Muestra en qué función de C está cada cambio.
- -P
-
Cuando compara directorios, si un fichero aparece solamente en el
segundo directorio de los dos, lo trata como presente pero vacío en el
otro.
- --paginate
-
Pasa la salida por
pr
para paginarla.
- -q
-
Informa sólo de si los ficheros difieren, no de los detalles de las
diferencias.
- -r
-
Cuando compara directorios, compara recursivamente cualesquier
subdirectorios encontrados.
- --rcs
-
Muestra en la salida diferencias en formato RCS; como
-f
excepto en que cada orden especifica el número de líneas afectadas.
- --recursive
-
Cuando compara directorios, compara recursivamente cualesquier
subdirectorios encontrados.
- --report-identical-files
-
- -s
-
Informa de cuando dos ficheros son el mismo.
- -S fichero
-
Cuando compara directorios, comienza con el fichero
fichero.
Esto se usa para reanudar una comparación interrumpida.
- --sdiff-merge-assist
-
Muestra información extra para ayudar a
sdiff.
sdiff
emplea esta opción cuando ejecuta
diff.
Esta opción no está pensada para que los usuarios la empleen
directamente.
- --show-c-function
-
Muestra en qué función de C está cada cambio.
- --show-function-line=expreg
-
En formatos de contexto y unificado, para cada trozo de diferencias,
muestra algo de la última línea precedente que concuerde con
la expresión regular
expreg.
- --side-by-side
-
Emplea el formato de salida lado a lado.
- --speed-large-files
-
Emplea una heurística para agilizar el tratamiento de ficheros grandes
que tienen numerosos pequeños cambios dispersos.
- --starting-file=fichero
-
Cuando compara directorios, empieza con el fichero
fichero.
Esto se emplea para reanudar una comparación interrumpida.
- --suppress-common-lines
-
No muestra líneas comunes en formato lado a lado.
- -t
-
Expande tabuladores a espacios en la salida, para preservar el
alineamiento de tabuladores en los ficheros de entrada.
- -T
-
Muestra en la salida un tabulador en vez de un espacio antes del texto
de una línea en formato normal o de contexto. Esto hace que la
alineación de tabuladores en la línea se vea de forma normal.
- --text
-
Trata todos los ficheros como texto y los compara línea por línea,
incluso si no parecen ser de texto.
- -u
-
Emplea el formato de salida unificado.
- --unchanged-group-format=formato
-
Emplea
formato
para mostrar en la salida un grupo de líneas comunes tomadas de ambos
ficheros en formato if-then-else.
- --unchanged-line-format=formato
-
Emplea
formato
para mostrar en la salida una línea común a ambos ficheros en el
formato if-then-else.
- --unidirectional-new-file
-
Cuando compara directorios, si un fichero aparece sólo en el 2º
directorio de los dos, lo trata como presente pero vacío en el otro.
- -U líneas
-
- --unified[=líneas]
-
Emplea el formato de salida unificado, mostrando
líneas
(un entero) líneas de contexto, o tres si
líneas
no se da.
Para una operación correcta,
patch
necesita típicamente como poco dos líneas de
contexto.
- -v
-
- --version
-
Muestra en la salida el número de versión de
diff.
- -w
-
Descarta espacio en blanco cuando compara líneas.
- -W columnas
-
- --width=columnas
-
Emplea una anchura de salida de
columnas
en el formato de lado a lado.
- -x patrón
-
Cuando compara directorios, descarta ficheros y subdirectorios cuyos
nombres base concuerden con
patrón.
- -X fichero
-
Cuando compara directorios, descarta ficheros y subdirectorios cuyos
nombres base concuerden con cualquier patrón contenido en
fichero.
- -y
-
Emplea el formato de lado a lado.
VÉASE TAMBIÉN
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
DIAGNÓSTICOS
Un estado de salida de 0 significa que no se encontraron diferencias,
1 significa que se encontró alguna diferencia, y 2 significa problemas.
Index
- NOMBRE
-
- SINOPSIS
-
- DESCRIPCIÓN
-
- Opciones
-
- VÉASE TAMBIÉN
-
- DIAGNÓSTICOS
-
|