Comparar o conteúdo de dois diretórios em um Mac usando diff
Índice:
Se você quiser ver a diferença entre duas pastas em um Mac ou comparar o conteúdo de dois diretórios, poderá fazê-lo facilmente com a ajuda do poderoso comando diff.
Este tutorial mostrará como comparar dois diretórios e o conteúdo desses diretórios usando o Terminal. Esta abordagem de linha de comando produzirá um arquivo contendo as diferenças precisas mostradas entre duas pastas de destino.
Para fazer essa comparação, usaremos a ferramenta de linha de comando 'diff', diff está disponível em todos os Macs, junto com Linux e outros sistemas operacionais unix, portanto, essa é efetivamente uma solução multiplataforma para comparar diretórios. Diff é bastante simples de usar para comparar facilmente o conteúdo de quaisquer dois diretórios, basta seguir usando a sintaxe detalhada abaixo.
Como comparar o conteúdo de dois diretórios com diff
Para começar, inicie o Terminal no Mac OS (encontrado em /Aplicativos/Utilitários/) e use a seguinte sintaxe de comando:
diff -rq diretório1 diretório2
Pressione return quando tiver especificado os diretórios apropriados para comparação. Isso executa o comando diff comparando diretório1 e diretório2 (se você tiver uma pasta com um espaço no nome do arquivo, basta colocá-lo entre aspas assim: “pasta um”). Estamos usando o sinalizador -rq porque -r significa que é recursivo para incluir subdiretórios e -q simplifica a saída do comando apenas para as diferenças mostradas.
Saída de amostra do comando pode ser semelhante à seguinte:
$diff -rq diretório1 diretório2
Somente no diretório1: exemplo221.txt
Somente no diretório1: SuperSecretDifferentFile.rtf
Somente no diretório2: AmazingScript.py
Apenas no diretório2: MyFavoriteSong.mp3
Somente no diretório2: MyFavoriteSpecialMovie.mp4
Você também pode dar um passo adiante e redirecionar a saída desse comando para um arquivo, digamos que ele se chame diferenças.txt:
diff -rq diretório1 diretório2 >> diferenças.txt
Aqui está um exemplo e como a impressão real ficará. Digamos que estamos comparando pastas chamadas “música antiga” e “música nova” e queremos que a saída do comando mostre a diferença entre esses dois diretórios no arquivo chamado “musicfolders.txt” então a seguinte sintaxe de comando seria usada:
"diff -rq old music>> musicfolders.txt"
Agora procure no diretório de trabalho atual pelo arquivo que você acabou de criar através da saída do comando diff, neste caso o arquivo é musicfolders.txt e o conteúdo pode ser visualizado em qualquer editor de texto, linha de comando ou por outro lado. Abrindo o arquivo de texto, você verá algo assim:
Apenas em música antiga: song1.mp3 Apenas em música antiga: song2.mp3 Apenas em música antiga: song3.mp3 Apenas em música nova: instrumental1.mp3 Apenas em nova música: instrumental1.mp3
Se você deseja visualizar o arquivo na linha de comando, tente:
more musicfolders.txt
Caso contrário, basta navegar até o diretório contido e abri-lo em seu editor de texto favorito.
Se preferir não criar um arquivo de texto com as alterações, basta deixar de fora o redirecionamento de saída do comando. Você pode querer canalizar a saída para algo como 'mais' para facilitar a varredura:
"diff -rq música antiga>"
O comando diff é bastante poderoso e há muitas outras opções disponíveis com ele, use o comando man diff para obter detalhes completos sobre como usar o diff, bem como os inúmeros recursos disponíveis.
Vale a pena mencionar novamente que este comando funcionará no Mac OS X – todas as versões – bem como na maioria dos sistemas operacionais baseados em Unix.