Então, como o “Dif”Comando realmente funcionar? O "Dif”Comando compara os dois arquivos e produz uma lista de diferenças entre os dois arquivos. Mais precisamente, ele produz uma lista de modificações que precisam ser feitas no primeiro arquivo para corresponder ao segundo arquivo. O "Dif”O comando também é usado pelos programadores para obter a diferença entre dois arquivos de código -fonte para desenvolver patches.
Antes de mergulhar nos exemplos, observe que a ordem dos arquivos é muito importante. Porque o "Dif”O comando fornece saída com base na ordem dos arquivos.
Como usar o comando “diff” no Linux para comparar arquivos:
A sintaxe do “Dif”O comando é mencionado abaixo:
$ diff [opções] [File1] [File2]
Primeiro, crie dois arquivos. Estou criando arquivos de texto pelo nome de “Test_File_1.TXT" e “Test_File_2.TXT". Esses arquivos contêm conteúdo com uma pequena diferença:
Agora use o seguinte comando para obter a diferença:
$ diff test_file_1.txt test_file_2.TXT
A saída padrão exibiu as linhas que correspondem de acordo com a ordem dos arquivos mencionados no comando. Então, vamos decodificar a saída:
A comparação dos arquivos é rotulada e cada rótulo tem um número em ambos os lados. O formato é o seguinte:
[Número da linha do arquivo 1] [Label (A, C, D)] [Número da linha do arquivo 2]
Existem três rótulos:
"2d1" indica para excluir a linha número 2 do primeiro arquivo para corresponder ao segundo arquivo da linha número 1.
De forma similar, “4C3” significa fazer uma alteração na quarta linha do primeiro arquivo para corresponder à linha número 3 do segundo arquivo, pois ambas as linhas são ligeiramente diferentes.
Há outro método para ver a diferença, use o "Dif" comando com o "-Y" opção:
$ diff -y -w 60 test_file_1.txt test_file_2.TXT
Na saída acima, o conteúdo de “Test_File_1.TXT" é exibido no lado esquerdo, enquanto o conteúdo de “Text_file_2.TXT" é exibido no lado direito. A diferença é indicada pelos símbolos:
O "-w" indica a largura entre o conteúdo de dois arquivos. Para ficar separadamente e ver a diferença, use o seguinte:
$ diff -y -w 60 -supressor -common lines test_file_1.txt test_file_2.TXT
Como obter saída em uma linha usando o comando "diff":
Se o método rotulado for difícil para você decodificar, há uma abordagem mais simples. Usando o "-Q" opção com o "Dif" O comando fornece saída em uma linha. Bem, sem nenhuma informação adicional:
$ diff -q test_file_1.txt test_file_2.TXT
Se os arquivos diferirem, o comando acima fornecerá uma saída. Se os arquivos forem idênticos, não haverá saída. Para demonstrar, estou criando uma cópia de “Test_File_1.TXT" usando:
$ cp test_file_1.txt test_file_3.TXT
Um novo arquivo será criado pelo nome de “Test_File_3.TXT" contendo o mesmo conteúdo que “Test_File_1.TXT" tem. Agora usa:
$ diff -q test_file_1.txt test_file_2.TXT
Como ambos os arquivos têm conteúdo semelhante, portanto, não haveria saída.
Como verificar a diferença de arquivos no modo de contexto usando o comando "diff":
Para obter a comparação no modo de contexto, o "-C" a opção será usada com o "Dif" comando:
$ diff -c test_file_1.txt test_file_2.TXT
Vamos dissecar a saída.
Para manter a diferença, o primeiro arquivo é indicado por "***" junto com a data e a hora da criação, enquanto o segundo arquivo é indicado por "-".
A próxima linha significa uma variedade de linhas consideradas durante a comparação. Para o primeiro arquivo, é “*** 1,6 ****” E para o segundo arquivo, é “-1,5--”:
A diferença é indicada pelos símbolos:
Como verificar a diferença de arquivos no modo unificado usando o comando "diff":
O modo unificado é bastante semelhante ao modo de contexto, mas sem informações redundantes. A bandeira que usamos é "-você":
$ diff -u test_file_1.txt test_file_2.TXT
Na saída, o primeiro arquivo é indicado por "-" e o segundo por "+++". A segunda linha mostra o número de linhas consideradas para comparação em ambos os arquivos, depois o conteúdo a ser excluído, adicionado ou modificado com os símbolos com eles. Não haverá símbolo com linhas semelhantes nos dois arquivos.
Como ignorar a sensibilidade do caso ao usar o comando "diff":
Se você deseja comparar os arquivos enquanto ignora a sensibilidade da caixa, use o "-eu" bandeira:
$ diff -i test_file_1.txt test_file_2.TXT
Para demonstração, eu fiz o "D" de “Deepin” No primeiro arquivo pequeno:
Como visto no primeiro comando, a diferença é indicada; Enquanto estiver usando "-eu" Essa diferença foi removida.
Algumas outras opções úteis do "Dif" O comando está listado abaixo:
Opção | Descrição |
---|---|
-a | Esta opção trata todos os arquivos como arquivos de texto |
-B | Ignora a modificação onde as linhas estão todas em branco |
-E | Esta opção ignora a expansão da guia |
-EU | Ele ignora as mudanças onde todas as linhas correspondem |
-s | Fornece saída quando dois arquivos são idênticos |
-c | Ignora todo o espaço branco |
-Z | Ignora o espaço branco na extremidade da linha |
Como usar o VIM Editor para comparar dois arquivos:
Outro método para comparar dois arquivos é usar o “Vimdiff” comando. Para isso, você precisa instalar o VIM:
$ sudo apt install vim
Agora, para comparar dois arquivos, use:
$ vimdiff test_file_1.txt test_file_2.TXT
Ambos os arquivos serão abertos lado a lado. A parte que não corresponde será destacada:
Como comparar dois arquivos usando "Colordiff":
Outra abordagem é uma espécie de extensão do "Dif" comando. Você pode tornar a comparação mais identificável adicionando cores a ele. Para instalar o uso:
$ sudo apt install colordiff
Para comparar arquivos, use:
$ colordiff test_file_1.txt test_file_2.TXT
Você pode substituir "Dif" com “Colordiff” Para obter a saída padrão do "Dif" comando em formato colorido.
Conclusão:
Para comparar arquivos no Linux e até no macOS, um utilitário usado é chamado de "diff". O utilitário "diff" compara dois arquivos e fornece informações sobre as diferenças entre os dois arquivos. Os desenvolvedores usam principalmente o comando "diff" para criar arquivos de patch.
Neste guia, discutimos completamente o "Dif" comando e como usá -lo para comparar dois arquivos com opções diferentes. Também aprendemos a usar “Colordiff” Para tornar as diferenças de arquivo mais reconhecíveis. Mas se você achar difícil de usar o utilitário baseado em terminais, também existem algumas ferramentas baseadas na GUI, como kompare, diffmerge, meld - diff ferramenta e difusa - ferramenta gui giff.