Porównanie zawartości dwóch katalogów na komputerze Mac za pomocą funkcji diff
Spisu treści:
Jeśli chcesz zobaczyć różnicę między dwoma folderami na komputerze Mac lub porównać zawartość dwóch katalogów, możesz to łatwo zrobić za pomocą potężnego polecenia diff.
Ten samouczek pokaże, jak porównać dwa katalogi i zawartość tych katalogów za pomocą terminala. To podejście z wiersza poleceń spowoduje wyświetlenie pliku zawierającego dokładne różnice między dwoma folderami docelowymi.
Aby przeprowadzić to porównanie, użyjemy narzędzia wiersza poleceń „diff”, narzędzie diff jest dostępne na wszystkich komputerach Mac, a także na systemach Linux i innych systemach operacyjnych Unix, więc jest to faktycznie rozwiązanie międzyplatformowe do porównywania katalogów. Diff jest dość prosty w użyciu do łatwego porównywania zawartości dowolnych dwóch katalogów, po prostu postępuj zgodnie ze składnią opisaną poniżej.
Jak porównać zawartość dwóch katalogów za pomocą funkcji diff
Aby rozpocząć, uruchom Terminal w systemie Mac OS (znajdujący się w katalogu /Applications/Utilities/), a następnie użyj następującej składni polecenia:
diff -rq katalog1 katalog2
Naciśnij powrót, gdy określisz odpowiednie katalogi do porównania. Spowoduje to wykonanie polecenia diff porównującego katalog1 i katalog2 (jeśli masz folder ze spacją w nazwie pliku, po prostu umieść go w cudzysłowach, jak na przykład: „folder jeden”). Używamy flagi -rq, ponieważ -r oznacza, że uwzględnianie podkatalogów jest rekurencyjne, a -q upraszcza wyjście polecenia tylko do pokazanych różnic.
Przykładowe dane wyjściowe polecenia mogą wyglądać następująco:
$diff -rq katalog1 katalog2
Tylko w katalogu 1: example221.txt
Tylko w katalogu 1: SuperSecretDifferentFile.rtf
Tylko w katalogu2: AmazingScript.py
Tylko w katalogu 2: MyFavoriteSong.mp3
Tylko w katalogu 2: MyFavoriteSpecialMovie.mp4
Możesz także pójść o krok dalej i przekierować dane wyjściowe tego polecenia do pliku, powiedzmy, że nazywa się to differents.txt:
diff -rq katalog1 katalog2 >> różnice.txt
Oto przykład i rzeczywisty wygląd wydruku. Powiedzmy, że porównujemy foldery o nazwach „stara muzyka” i „nowa muzyka” i chcemy, aby dane wyjściowe polecenia pokazywały różnicę między tymi dwoma katalogami w pliku o nazwie „foldery muzyczne.txt”, wówczas użyta zostanie następująca składnia polecenia:
"diff -rq stara muzyka>> musicfolders.txt"
Teraz poszukaj w bieżącym katalogu roboczym pliku, który właśnie utworzyłeś, wydając polecenie diff, w tym przypadku jest to plik musicfolders.txt, a jego zawartość można przeglądać w dowolnym edytorze tekstu, wierszu poleceń lub Inaczej. Otwierając plik tekstowy zobaczysz coś takiego:
Tylko w starej muzyce: piosenka1.mp3 Tylko w starej muzyce: piosenka2.mp3 Tylko w starej muzyce: piosenka3.mp3 Tylko w nowej muzyce: instrumental1.mp3 Tylko w nowa muzyka: instrumental1.mp3
Jeśli chcesz wyświetlić plik z wiersza poleceń, spróbuj:
więcej folderów muzycznych.txt
W przeciwnym razie po prostu przejdź do katalogu zawierającego i otwórz go w swoim ulubionym edytorze tekstu.
Jeśli nie chcesz tworzyć pliku tekstowego ze zmianami, po prostu pomiń przekierowanie wyjścia polecenia. Możesz jednak potokować dane wyjściowe do czegoś w rodzaju „więcej”, aby ułatwić skanowanie:
"diff -rq stara muzyka>"
Polecenie diff jest dość potężne i dostępnych jest wiele innych opcji. Użyj polecenia man diff, aby uzyskać szczegółowe informacje na temat używania diff oraz niezliczonych dostępnych funkcji.
Warto jeszcze raz wspomnieć, że to polecenie będzie działać w systemie Mac OS X — we wszystkich wersjach — oraz w większości systemów operacyjnych opartych na systemie Unix.