Inicio·Comandos de terminal

diff

Procesado de texto

Uso

diff -u [old] [new]

Muestra qué cambió entre dos archivos; el formato unificado -u es el que esperan patch y la revisión de código, y sale con 1 si difieren, lo que detiene un script con set -e.

Opciones habituales

OpciónSignificado
-uUnified output, the format patch and code review expect
-rCompare two directory trees
-qOnly say whether the files differ
-wIgnore all whitespace
-iIgnore case
-NTreat a missing file as empty, which patches need

Ejemplos

diff -u old.conf new.conf > fix.patch

Writes a patch file.

diff -rq dirA dirB

Lists which files differ between two trees.

diff <(sort a.txt) <(sort b.txt)

Compares two files ignoring line order (bash).

Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace diff?

Muestra qué cambió entre dos archivos; el formato unificado -u es el que esperan patch y la revisión de código, y sale con 1 si difieren, lo que detiene un script con set -e.

Q. ¿Cómo se escribe?

diff -u [old] [new] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man diff. Este comando está en Procesado de texto.

Comandos relacionados

página man: man diff