Porównanie zawartości dwóch katalogów na komputerze Mac za pomocą funkcji diff
Spisu treści:
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.
