Eu tenho dois arquivos snmpd.conf, um em um servidor que funciona e outro que não. Como posso diferenciar os dois arquivos de configuração enquanto retira comentários e novas linhas irrelevantes?
linux
configuration
diff
jldugger
fonte
fonte
level
! =)Respostas:
Para evitar linhas em branco e linhas contendo nada além de espaços, além de linhas idênticas que possuem uma única diferença de espaços à esquerda adicionados ...
A essa altura, eu provavelmente colocaria isso em um script e escreveria algo como a sugestão original que é um pouco mais legível.
fonte
Se você está um pouco à vontade com o vim , recomendo fortemente que você use o vimdiff :
Isso abrirá uma sessão do vim com dois painéis, com um arquivo de cada lado. Destaques e cores indicarão diferenças entre os arquivos, e todas as partes idênticas serão ocultadas (dobradas, mas expansíveis).
Em seguida, se você deseja mesclar seletivamente as diferenças de um arquivo para outro, poderá usar os seguintes comandos:
(Considere o "arquivo atual" como aquele em que o cursor está)
^ W ^ W para mudar o foco da janela de um arquivo para a janela do outro arquivo
] c para avançar para o próximo bloco com diferenças
[c para inverter a pesquisa do bloco anterior com diferenças
fazer ( d sse o btain) para trazer mudanças de outro arquivo para o arquivo atual
dp ( d iff p ut) para enviar alterações do arquivo atual para o outro arquivo
Nota: Do e dp funcionam se você estiver em um bloco ou apenas uma linha abaixo de um bloco.
u para u ndo
zo para desdobrar / ocultar texto
zc para dobrar / ocultar novamente o texto
O zr desdobra completamente os dois arquivos (use : help fold para saber mais sobre o fold)
: diffupdate irá verificar novamente os arquivos quanto a alterações
Quando você começar a mover o texto alterado ou a introduzir alterações, as partes agora idênticas dos arquivos também serão automaticamente dobradas.
Quando terminar, você pode sair e gravar os dois arquivos com : xa!
Você também pode escrever, sair, descartar alterações, etc., um painel de cada vez, como faria normalmente com o vim.
Você pode usar todos os comandos comuns do vim para editar os arquivos à vontade; Descrevi apenas os comandos mais comuns e úteis que você provavelmente utilizará em uma sessão do vimdiff (em oposição a um genérico do vim).
fonte
Beyond Compare é a melhor ferramenta para isso!
Link: http://www.scootersoftware.com/
Disponível para Windows e Linux.
Jeff escreveu um bom artigo sobre a ferramenta há algum tempo:
http://www.codinghorror.com/blog/archives/000454.html
fonte
Expandindo o one-liner do nima, você pode fazer isso como uma função shell e soltá-lo no seu .bashrc
torna-se (usando -u porque eu gosto de diferenças unificadas)
Se você gosta de visualizadores de diferenças de GUI, o meld é bom e entende diretórios / arquivos controlados por revisão.
fonte
Depois de limpar os comentários, eu recomendaria usar o KDiff3, é uma ferramenta diff / merge muito boa e você não precisa do vim fu para usá-lo :)
fonte
Pode haver uma maneira mais elegante de fazer isso, mas pragmaticamente (e rapidamente):
fonte
Se você estiver usando um shell semelhante ao bash, tente:
Em seguida, invoque-o assim:
Você também pode mudar
diff
paravimdiff
ou com ogvimdiff
qual ambos vêmvim
.fonte
Ao estender a solução da Xerxes, você pode usar ferramentas mais sofisticadas do que
diff
para exibir as diferenças.wdiff
wdiff
às vezes pode ser "muito inteligente", mas acho útil muitas vezes examinar rapidamente as diferenças entre os arquivos de configuração. Este script pode ser usado para saída com cores:No Ubuntu e outros sistemas baseados no Debian, pouco
apt-get install wdiff
antes de usar este script.Meld
O Meld é uma boa alternativa à GUI, mas seu recurso "Filtragem de texto" tem alguns problemas. Em vez de usar a filtragem de texto, removo completamente os comentários antes de mostrar os resultados no Meld. A desvantagem é perder a capacidade de editar os arquivos enquanto os compara. Aqui está um script simples para usar o Meld:
fonte
Às vezes, várias linhas comuns adicionais podem ser removidas classificando os arquivos antes do diff, então eu acrescentaria ao que já foi escrito o seguinte:
é claro que isso faz sentido para arquivos em que a ordem das linhas não afeta o conteúdo (lembre-se).
fonte
É o mesmo que o liner único do nima, mas também filtra as linhas em branco conforme solicitado por alguém.
(Eu também instalaria o colordiff, se possível, e o usaria no lugar do diff normal)
fonte
Eu uso o WinMerge http://winmerge.org para arquivos diff, desde que eu tenha que puxá-los para a minha máquina, mas funciona.
fonte