diff
Processamento de texto
Uso
diff -u [old] [new]Mostra o que mudou entre dois arquivos; o formato unificado -u é o que patch e a revisão de código esperam, e ele sai com 1 quando diferem, o que trava um script com set -e.
Opções comuns
| Opção | Significado |
|---|---|
| -u | Unified output, the format patch and code review expect |
| -r | Compare two directory trees |
| -q | Only say whether the files differ |
| -w | Ignore all whitespace |
| -i | Ignore case |
| -N | Treat a missing file as empty, which patches need |
Exemplos
diff -u old.conf new.conf > fix.patchWrites a patch file.
diff -rq dirA dirBLists which files differ between two trees.
diff <(sort a.txt) <(sort b.txt)Compares two files ignoring line order (bash).
Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que diff faz?
Mostra o que mudou entre dois arquivos; o formato unificado -u é o que patch e a revisão de código esperam, e ele sai com 1 quando diferem, o que trava um script com set -e.
Q. Como se digita?
diff -u [old] [new] — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man diff. Este comando fica em Processamento de texto.
Comandos relacionados
página man: man diff