Vergelijking van twee mappen Inhoud op een Mac Met diff

Als u het verschil tussen twee mappen op een Mac wilt zien of de inhoud van twee mappen wilt vergelijken, kunt u dit eenvoudig doen met behulp van de krachtige opdracht diff.

In deze zelfstudie leert u hoe u twee mappen en de inhoud van die mappen kunt vergelijken door de terminal te gebruiken. Deze opdrachtregelaanpak levert een bestand op met de precieze verschillen tussen twee doelmappen.

Om deze vergelijking te bereiken, gebruiken we de opdrachtregeltool 'diff', diff is beschikbaar op alle Macs, samen met linux en andere unix-besturingssystemen, dus dit is in feite een platformonafhankelijke oplossing voor het vergelijken van mappen. Diff is vrij eenvoudig te gebruiken om eenvoudig de inhoud van elke twee mappen te vergelijken. Volg gewoon de syntaxis hieronder.

Hoe de inhoud van twee mappen met diff te vergelijken

Om te beginnen, start u de Terminal in Mac OS (te vinden in / Applications / Utilities /) en gebruikt u vervolgens de volgende syntaxis van de opdracht:

diff -rq directory1 directory2

Druk op Return als u de juiste mappen hebt opgegeven om te vergelijken. Dit voert het commando diff uit dat directory1 en directory2 vergelijkt (als je een map hebt met een spatie in de bestandsnaam, plaats het dan gewoon tussen aanhalingstekens zoals: "folder one"). We gebruiken de -rq vlag omdat -r betekent dat het recursief is om submappen op te nemen, en -q vereenvoudigt de uitvoer van de opdracht naar alleen de getoonde verschillen.

Voorbeelduitvoer van de opdracht ziet er ongeveer als volgt uit:

$diff -rq directory1 directory2

Alleen in directory1: example221.txt

Alleen in directory1: SuperSecretDifferentFile.rtf

Alleen in directory2: AmazingScript.py

Alleen in directory2: MyFavoriteSong.mp3

Alleen in directory2: MyFavoriteSpecialMovie.mp4

U kunt ook een stap verder gaan en de uitvoer van die opdracht omleiden naar een bestand, laten we zeggen dat het de naam differences.txt heeft:

diff -rq directory1 directory2 >> differences.txt

Hier is een voorbeeld en hoe de daadwerkelijke afdruk eruit zal zien. Laten we zeggen dat we mappen met de namen "oude muziek" en "nieuwe muziek" vergelijken, en we willen dat de uitvoer van de opdracht het verschil laat zien tussen die twee mappen in het bestand met de naam "musicfolders.txt" en dat de volgende syntaxis van de opdracht zou worden gebruikt:

diff -rq "old music" "new music" >> musicfolders.txt

Zoek nu in de huidige werkmap naar het bestand dat u zojuist hebt gemaakt door de opdracht diff uit te voeren, in dit geval is het bestand musicfolders.txt en de inhoud kan in elke teksteditor, opdrachtregel of anderszins worden bekeken. Als u het tekstbestand opent, ziet u ongeveer zoiets als dit:

Only in old music: song1.mp3
Only in old music: song2.mp3
Only in old music: song3.mp3
Only in new music: instrumental1.mp3
Only in new music: instrumental1.mp3

Als u het bestand via de opdrachtregel wilt bekijken, probeert u het volgende:

more musicfolders.txt

Ga anders gewoon naar de betreffende map en open deze in uw favoriete teksteditor.

Als u liever geen tekstbestand met de wijzigingen maakt, laat u gewoon de uitvoeromleiding van de opdracht achterwege. Misschien wil je de uitvoer naar iets als 'meer' leiden om het scannen te vergemakkelijken:

diff -rq "old music" "new music" | more

Het commando diff is vrij krachtig en er zijn veel andere opties beschikbaar, gebruik de opdracht man diff voor volledige details over het gebruik van diff en de talloze functies die beschikbaar zijn.

Het is de moeite waard om nogmaals te vermelden dat deze opdracht zal werken in Mac OS X - alle versies - evenals de meeste op Unix gebaseerde besturingssystemen.