Estamos criando dois arquivos de texto na pasta de trabalho do nosso sistema.
É hora de usar a instrução “diff” em uma área de consulta para exibir a diferença entre o conteúdo de ambos os arquivos. Tentamos esta instrução “diff” com os dois nomes de arquivo em uma sequência, ou seja, um.txt primeiro e depois dois.txt. A execução do comando “diff” nos mostra a diferença entre os dois arquivos como:
- Números de linha de acordo com o primeiro arquivo de texto.
- Caracteres/símbolos especiais para nos informar sobre a diferença, como alterar, adicionar, excluir.
- Números de linha de acordo com o segundo arquivo de texto.
Em nossa primeira ilustração, elaboramos o símbolo “a” entre os números de linha da saída do comando “diff”; “a” é usado como a abreviação de “Adicionar”. O uso da instrução “cat” com ambos os nomes de arquivo na área de consulta exibe separadamente o conteúdo dentro de cada arquivo de texto, ou seja, um.txt e dois.txt. Temos um total de 4 linhas dentro do primeiro arquivo, enquanto o segundo arquivo contém 5 linhas. A linha 1 é extra.
Em seguida, tentamos a instrução “diff” na área de consulta do terminal seguida pelos nomes dos arquivos – um.txt e dois.txt. A execução desta instrução mostra “0a1” como saída junto com a linha 1 do segundo arquivo que é uma linha extra no segundo arquivo. O valor numérico “0” é usado para a linha 0 ou antes da linha 1 do primeiro arquivo, ou seja, one.txt. O símbolo “a” significa “adicionar”. Finalmente, o valor numérico “1” significa a primeira linha do segundo arquivo. A saída mix “0d1” significa que a linha 1 do segundo arquivo “two.txt” deve ser adicionada no topo do primeiro arquivo “one.txt” antes que a primeira linha dois torne os dois arquivos iguais.
Agora, atualizamos os dois arquivos para ver outra ilustração. O primeiro arquivo “one.txt” contém 4 linhas e o segundo arquivo “two.txt” contém apenas 3 linhas. A única diferença para esses arquivos é o uso de uma linha extra no primeiro arquivo, ou seja, linha 1 = “Segunda-feira” que não está no segundo arquivo. Depois de tentar a instrução “diff” para os arquivos de texto atualizados, obtemos “1d0” como saída. E a primeira linha do primeiro arquivo é exibida. Em “1d0”, 1 significa que a primeira linha do arquivo “one.txt” deve ser excluída (conforme o símbolo “d”), e 0 significa que o segundo arquivo não foi atualizado. No final, a linha 1 do primeiro arquivo “one.txt” é exibida para a clara diferença.
Da mesma forma, o comando “diff” pode exibir uma diferença entre as linhas de dois arquivos. Portanto, atualizamos os dois arquivos de texto mais uma vez. Desta vez, o primeiro arquivo contém 5 linhas enquanto o segundo arquivo contém apenas 4. A única diferença é o uso de uma linha extra em um.txt que é a linha 3. O comando diff usado em ambos os arquivos no terminal exibe um saída “3d2” junto com a linha 3 do primeiro arquivo “one.txt”. Esta saída mostra que a linha 3 do primeiro arquivo “one.txt” deve ser excluída para que possamos sincronizar os dois arquivos na linha 2 do segundo arquivo. A linha diferente “3” é exibida para que possamos ter uma ideia clara sobre a diferença.
Vamos dar uma olhada clara e profunda na saída. A saída 1,5c1,2 da imagem a seguir mostra que as linhas 1 a 5 de um primeiro arquivo (um.txt) devem ser alteradas com as linhas 1 a 2 de um segundo arquivo (dois.txt). Isso significa que as primeiras 5 linhas (1 a 5) do arquivo one.txt devem ser alteradas e substituídas pelas duas primeiras linhas (1, 2) do segundo arquivo “two.txt” para torná-lo igual. No final, todas as 5 linhas do primeiro arquivo são exibidas, as quais devem ser substituídas pelas 2 linhas exibidas do segundo arquivo. É assim que o símbolo “c” indica a diferença entre dois arquivos – nenhuma linha é a mesma em ambos os arquivos.
O comando “diff” permite que você obtenha sua saída em um formulário de contexto. Imagine que você tenha os mesmos dois arquivos com os seguintes dados nesses arquivos. O contexto em torno da saída seria exibir a principal diferença entre o total de arquivos simples mostrados na imagem a seguir. Agora, temos 5 linhas no primeiro arquivo “one.txt” e 4 linhas no segundo arquivo “two.txt”.
Para obter a saída baseada em contexto da instrução “diff”, precisamos usar a opção “-c” dentro do comando “diff”. Usando os arquivos atualizados anteriormente neste comando “diff”, obtemos a seguinte saída – data, dia, juntamente com as informações extras sobre a criação de texto dentro dos arquivos. As 5 linhas dos arquivos one.txt são exibidas. Mais especialmente, sua terceira linha é destacada usando o caractere “-“ para adicioná-la a outro arquivo.
Conclusão
Tentamos explicar brevemente tudo sobre a instrução “diff”. Para isso, atualizamos nossos arquivos de texto todas as vezes e obtivemos uma saída atualizada para adicionar, remover e alterar os dados em um arquivo. A introdução explicou o propósito de usar o comando “diff” no Linux e como usá-lo no Linux.