Exemplos de comando diff no Linux

Exemplos de comando diff no Linux
O comando diff é uma análise ou comando informativo que imprime as diferenças entre os arquivos, analisando -os linha por linha ou diretórios recursivamente ao informar ao usuário quais mudanças são necessárias para tornar os arquivos iguais, esse ponto é importante para entender as saídas diff. Este tutorial se concentra no comando diff.

Antes de iniciar, crie dois arquivos usando qualquer editor de texto (o Nano é usado neste tutorial) com o mesmo conteúdo:

# Nano DiffSample1

Pasta interna:

 Linuxhint publica o melhor conteúdo para você 

Imprensa Ctrl+X e y para salvar e sair.

Crie um segundo arquivo chamado DiffSample2 com o mesmo conteúdo:

# Nano DiffSample2

Observação: Preste atenção aos espaços e guias, os arquivos devem ser 100% iguais.

Imprensa Ctrl+X e y para salvar e sair.

# DiffSampler1 DiffSample2

Como você pode ver, não há saída, não há necessidade de fazer algo para tornar os arquivos iguais porque eles já são iguais.

Agora, vamos editar o arquivo DifSample2 para fazer algumas alterações:

# Nano DiffSample2

Então vamos substituir a palavra "conteúdo" por "dicas":

Imprensa Ctrl+X e Y Para salvar e sair.

Agora execute:

# DiffSampler1 DiffSample2

Vamos ver a saída:

A saída acima, "3C3" significa "linha 3 do primeiro arquivo de deve ser substituída pela linha 3 do segundo arquivo". A parte amigável da saída é que nos mostra qual texto deve ser alterado (“conteúdo para você" para "Dicas para você”)

Isso nos mostra a referência para o comando diff não é o primeiro arquivo, mas o segundo, é por isso que o primeiro arquivo da terceira linha (o primeiro 3) deve ser alterado (c) como a terceira linha do segundo arquivo (segundo 3).

O comando diff pode mostrar 3 caracteres:

C: Este personagem instrui um Mudar tem que ser feito.
a: Este personagem instrui algo que deve ser Adicionado.
D: Este personagem instrui algo que deve ser Excluído.

Os primeiros números antes que um caractere pertencem ao primeiro arquivo, enquanto os números após os caracteres pertencem ao segundo arquivo.

O símbolo do segundo arquivo que é usado como referência.

Vamos inverter a ordem dos arquivos, em vez de executar

# DiffSampler1 DiffSample2

correr:

# DiffSample 2 DiffSample1

Você pode ver como o pedido foi invertido e agora o arquivo DiffSample1 é usado como referência e nos instrui a alterar "dicas para você" para "conteúdo para você", essa foi a saída anterior:

Agora, vamos editar o arquivo diferente, como este:

Remova todas as linhas, exceto a primeira linha no arquivo DiffSample1. Então corra:

# DiffSample 2 DiffSample1

Como você pode ver, uma vez que usamos o arquivo DiffSample1 como referência, a fim de fazer com que o arquivo seja diferente2 exatamente igual a excluir (d) linhas dois e três (2,3) como no primeiro arquivo e as primeiras linhas (1) será igual.

Agora vamos inverter a ordem e em vez de correr “# DiffSample 2 DiffSample1 ” correr:

# DiffSampler1 DiffSample2

Como você pode ver, enquanto o exemplo anterior nos instruiu a remover, este nos instrui a adicionar (a) linhas 2 e 3 após o primeiro arquivo Primeira linha (1).

Agora vamos trabalhar na propriedade sensível ao caso deste programa.

Edite o arquivo DiffSample2 como:

E editar o arquivo DiffSample1 como:

A única diferença é que as letras maiúsculas no arquivo diferem2. Agora vamos compará -lo usando o DIFF novamente:

# DiffSampler1 DiffSample2

Como você pode ver, diff encontrou diferenças, as letras maiúsculas, evitamos a detecção de diferentes letras maiúsculas, se não estivermos interessados ​​no caso sensível ao caso, adicionando o -eu opção:

# Diff -i DiffSample1 DiffSample2

Não foram encontradas diferenças, a detecção do caso foi desativada.

Agora vamos alterar o formato de saída adicionando a opção -você Usado para imprimir saídas unificadas:

Além disso, até o momento e a hora, a saída mostra com um - e + símbolo o que deve ser removido e o que deve ser adicionado para tornar os arquivos iguais.

No início deste artigo, eu disse que espaços e guias devem ser iguais nos dois arquivos, pois eles também são detectados pelo comando diff, se queremos que o comando diff para ignorar espaços e guias, precisamos aplicar o -c opção.

Abra o arquivo DifSample2 e adicione espaços e guias:

Como você vê, adicionei algumas guias depois de "The Best" na segunda linha e também espaços em todas as linhas, feche, salve o arquivo e execute:

# DiffSampler1 DiffSample2

Como você pode ver, foram encontradas diferenças, além das letras maiúsculas. Agora vamos aplicar a opção -c Para instruir o Diff a ignorar espaços em branco:

Como você vê, apesar da tabulação, o diff encontrou apenas como diferença as letras maiúsculas.
Agora vamos adicionar a opção -Ei novamente:

#diff -wi diffSample2 DiffSample1

O comando diff tem dezenas de opções disponíveis para se aplicar para ignorar, alterar a saída, discriminar as colunas quando presentes, etc. Você pode obter informações adicionais sobre essas opções usando o comando man, ou em http: // man7.org/linux/man-páginas/man1/diff.1.html. Espero que você tenha encontrado este artigo com exemplos de comando diff no Linux útil. Continue seguindo o Linuxhint para obter mais dicas e atualizações no Linux e na rede.