Estou procurando algo que compare diretórios e arquivos como o Beyond Compare faz para o Windows.
É principalmente para uso do controle de origem, mas eu preciso usá-lo também para implantação.
software-recommendation
diff
DevelopingChris
fonte
fonte
Respostas:
Meld
O Meld é uma ferramenta que pode comparar e mesclar arquivos e diretórios. É uma interface gráfica do usuário para as ferramentas padrão
diff
e depatch
linha de comando. (Veja man diff e man patch para mais detalhes)Além disso, muitos sistemas de controle de origem (como
bzr
ougit
) têm a capacidade de criar diferenças entre versões.fonte
beyond compare
abaixo. superior ao fundir imhoDiff é seu amigo.
Isso irá comparar todos os arquivos comuns entre o caminho1 e o caminho2.
Se você mudar
-ur
para-urN
, também mostrará o conteúdo dos arquivos que estão presentes apenas em um dos caminhos.fonte
colordiff
e usadocolordiff -ur path1 path2
O 'Beyond Compare' também está disponível para Linux.
Verifique o URL de download: http://www.scootersoftware.com/download.php
fonte
Use o
diff
comando:diff -u
seleciona um formato com algumas linhas de contexto. Uma planíciediff file1 file2
lista apenas as linhas diferentes. Há muito mais opções para controlar o formato de saída, ignorar diferenças somente de espaço em branco, etc.Se você deseja gravar a saída em um arquivo, redirecione-o:
fonte
Comandante Gnomo
A interface pode não ser muito sexy, mas é extremamente poderosa!
E se você estava acostumado a outro * Commander (como Norton ou similares), não ficará perdido.
fonte
Ferramentas de linha de comando
Inspirado por esta entrada do blog .
diff
Listando arquivos diferentes:
Listando também o conteúdo:
rsync
Se os dois diretórios não estiverem na mesma máquina,
rsync
talvez seja a solução mais fácil. Geralmentersync
é usado para sincronizar diretórios, mas você pode executá-lo nos modos detalhado e seco, para listar apenas os arquivos que precisariam ser alterados.Você pode omitir
c
se quiser comparar arquivos com base em carimbos de data e hora e tamanhos de arquivo para acelerar tudo:fonte
Krusader
O Krusader é uma ferramenta gratuita (disponível no Centro de Software) que mostra o conteúdo da pasta em comparação e você pode sincronizar com muitas opções diferentes. Você pode filtrar enquanto sincroniza e compara.
Para comparar o conteúdo do arquivo, basta marcar dois arquivos, selecione "arquivo"> "comparar conteúdo" e eles serão comparados letra por letra. a ferramenta de comparação padrão usada pelo krusader é a ferramenta padrão do KDE " Kompare ". Você pode configurar o krusader para usar qualquer outra ferramenta de comparação - como, por exemplo, uma das opções acima.
Esta é a solução mais completa que eu já encontrei e é muito conveniente. E suporta todas as teclas de função usadas pelo comandante da meia-noite (sintaxe do norton commander).
fonte
KDiff3
É um front-end gráfico para diferenciar os usuários do KDE (ou se você não se importa de usar os aplicativos Qt).
Também há dirdiff para diretórios.
fonte
Talvez Meld seja o que você está procurando. Ou aqui estão algumas outras alternativas.
fonte
O Unison é uma ferramenta rápida de sincronização de arquivos que usa o algoritmo rsync e permite visualizar diferenças antes de atualizar entre dois locais, sejam eles remotos ou locais.
fonte
Eu aprendi sobre haxixe duas semanas atrás. E tem algumas vantagens fortes:
meld
, funciona bem para pastas muito grandes. Ondemeld
fica extremamente lento e a interface do usuário não responde (bloqueada), o hashdeep funciona a uma velocidade constantersync
, o hashdeep detecta arquivos movidos - arquivos com o mesmo conteúdo, apenas em um diretório diferente.Saída detalhada é como:
fonte
Uma boa maneira de fazer essa comparação é usar " find " com " md5sum " e depois um " diff ".
Exemplo:
Use find para listar todos os arquivos no diretório, calcule o hash md5 para cada arquivo e envie-o para um arquivo:
Execute o mesmo procedimento para o outro diretório:
Em seguida, compare o resultado dois arquivos com "diff":
Essa estratégia é muito útil quando os dois diretórios a serem comparados não estão na mesma máquina e você precisa garantir que os arquivos sejam iguais nos dois diretórios.
Outra boa maneira de fazer o trabalho é usar git
Cumprimentos!
fonte
Tente também FreeFileSync . Possui uma interface decente, velocidade de comparação aceitável, boa filtragem do resultado da comparação, diferentes formas de sincronização. Ele vem com uma ferramenta de monitoramento de pastas (RealTimeSync) que pode iniciar o FreeFileSync (na verdade, qualquer comando ou script) quando essa pasta (s) específica (s) ou os arquivos contidos são alterados. Realmente vale a pena tentar.
Mais informações sobre isso aqui ou aqui , onde você tem um PPA , também
Na página deles, os principais recursos:
Eu acrescentaria que ele pode gerenciar arquivos excluídos, movendo-os para o Lixo ou para uma pasta especificada pelo usuário. Para apontar uma desvantagem: a documentação do programa se concentra bastante no Windows, menos no Linux. Mas faz seu trabalho bem.
fonte
Você pode usar difuso:
fonte
Você pode tentar combinar .
São os repositórios e fornecem uma GUI para comparação de arquivos ou pastas.
fonte
O IDE Eclipse é um pouco pesado se você está apenas fazendo comparações, mas faz um bom trabalho nisso, entre outras coisas. Você pode selecionar 2 projetos, caminhos ou arquivos, compará-los entre si e também sincronizar com os servidores de controle de origem.
fonte
O IMHO FreeFileSync é muito bom e mais útil que o Meld. É rápido e estável, pode fazer sincronizações acessíveis e também pode exportar o resultado da comparação para um arquivo csv.
Link do Lanchpad
fonte
Recursos de plataforma cruzada, fáceis, sem problemas e com economia de perfil tornam o Jfilesync minha melhor escolha
fonte
Para comparar arquivos
Você pode usar o comando
cmp
:saída seria
Para comparar dirs (sua necessidade):
você pode usar o comando diff :
man diff
fonte