Loading AI tools
Da Wikipédia, a enciclopédia livre
Em computação, diff
é um utilitário de comparação de arquivos que analisa e exibe as diferenças entre dois arquivos texto por linha.[1] É normalmente usado para mostrar as mudanças entre uma versão de um arquivo e a versão anterior do mesmo arquivo fonte ou de configuração.[2]
O diff
mostra as alterações realizadas por linha para arquivos de texto. Implementações modernas também suportam arquivos binários. A saída é chamada de um "diff", ou um patch (remendo),[3] uma vez que a saída pode ser aplicada com o programa patch
do Unix.[4] Na língua inglesa, a saída de utilitários similares de comparação de arquivos também são chamadas de um "diff". Assim como o uso da palavra "grep" para descrever o ato de procurar, a paravra diff é usada como jargão para diferença.[5]
O diff foi desenvolvido próximo de 1970 no sistema operacional Unix, que estava surgindo da Bell Labs. A primeira versão foi lançada junto com a 5° edição do Unix em 1974, e foi escrita por Douglas McIlroy, e James Hunt.[6] A pesquisa foi publicada em 1976 no artigo co-escrito com James W. Hunt, que desenvolveu o protótipo original do diff. O algoritmo descrito pelo artigo ficou conhecido por algoritmo Hunt-Szymanski.
A operação de diff é baseado na solução do problema de maior subsequência comum (LCS).
Neste problema, são dadas duas sequências de itens:
a b c d f g h j q z
a b c d e f g i j k r x y z
e nós queremos achar a maior subsequência de itens que está presente em ambos as sequências na mesma ordem. Ou seja, queremos achar uma nova sequência por deletar alguns itens da primeira sequência original, e da segunda por deletar outros itens. Também queremos que esse sequência seja a mais longa possível. No caso seria:
a b c d e f g j z
Isso é apenas um pequeno passo para conseguirmos uma saída parecida com diff: se um item não existe na subsequência mas está presente na primeira sequência original, ele deve ser deletado (como indicado pelo marcador '-', abaixo). Se um item não existe na subsequência mas está presente na segunda sequência original, ele deve ser adicionado (como indicado pelo marcador '+').
e h i q k r x y + - + - + + + +
Nos sistemas operacionais do tipo Unix, o comando diff analisa dois arquivos e imprime as linhas diferentes.
Comparing files and finding the differences between them is a widely used operation. This is specially useful when you have to compare complex code or configuration files.
The “diff” command is also used by the programmers to get the difference between two source code files to develop patches.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.