Diferença entre pastas

1

Como posso comparar recursivamente 2 pastas com a mesma estrutura.
Com o uso de diff ou git diff da linha de comando bash ?

    
por Arseniy 28.09.2012 / 12:05

5 respostas

3

Para comparar 2 arquivos, usamos o comando diff. Como podemos comparar dois diretórios? Especificamente, queremos saber quais arquivos / subdiretórios são comuns, o que é apenas em um diretório, mas não o outro uso

diff dir1 dir2

se você não estiver interessado em usar diferenças de arquivo

diff -q dir1 dir2 |sort

diff ordena sua saída em ordem alfabética pelo nome do arquivo / subdiretório. Eu prefiro agrupá-los por se eles são comuns e se eles existem apenas no primeiro ou no segundo diretório. É por isso que canalizei a saída do diff através de ordenação no comando acima.

Observe que, por padrão, o diff não alcança os subdiretórios para comparar os arquivos e subdiretórios nesse nível. Para alterar seu comportamento para ir para subdiretórios recursivamente, adicione -r.

diff -qr dir1 dir2 |sort

Espero que isso ajude.

    
por 28.09.2012 / 12:13
1

Meu favorito para uma rápida olhada:

diff -Ewburq folder1/ folder2/

Listar nomes de arquivos (ignorando todos os tipos de alterações de espaço em branco).

Para ver o diff inteiro em um visualizador agradável (removendo a opção -q )

diff -Ewbur folder1/ folder2/ | kompare -o -

Você provavelmente poderia encontrar outras ferramentas de melhor (melhor?) (meld, k3diff etc?)

Se você quiser, pode incluir arquivos 'new' no conjunto com -N

    
por 28.09.2012 / 12:22
0

Use o seguinte comando:

diff -r folder1 folder2
    
por 28.09.2012 / 12:09
0
diff -Nur directory1 directory2
    
por 30.09.2012 / 13:34
0

Você simplesmente pode fazer:

git diff --no-index FOLDER1 FOLDER2
    
por 03.11.2018 / 17:59