Porovnanie obsahu dvoch adresárov na Macu pomocou diff
Obsah:
Ak chcete vidieť rozdiel medzi dvoma priečinkami na Macu alebo porovnať obsah dvoch adresárov, môžete to jednoducho urobiť pomocou výkonného príkazu diff.
Tento tutoriál vám ukáže, ako porovnať dva adresáre a obsah týchto adresárov pomocou terminálu. Tento prístup z príkazového riadka vypíše súbor obsahujúci presné rozdiely zobrazené medzi dvoma cieľovými priečinkami.
Na dosiahnutie tohto porovnania použijeme nástroj príkazového riadka 'diff', diff je dostupný na všetkých počítačoch Mac, spolu s linuxom a inými operačnými systémami unix, takže toto je efektívne riešenie pre rôzne platformy na porovnanie adresárov. Rozdiel je pomerne jednoduchý na jednoduché porovnávanie obsahu ľubovoľných dvoch adresárov, stačí postupovať podľa syntaxe podrobne uvedenej nižšie.
Ako porovnať obsah dvoch adresárov s rozdielom
Ak chcete začať, spustite terminál v systéme Mac OS (nájdete ho v /Applications/Utilities/) a potom použite nasledujúcu syntax príkazu:
diff -rq adresár1 adresár2
Hit return, keď zadáte príslušné adresáre na porovnanie. Tým sa vykoná príkaz diff porovnávajúci adresár1 a adresár2 (ak máte v názve súboru priečinok s medzerou, stačí ho dať do úvodzoviek: „priečinok jedna“). Používame príznak -rq, pretože -r znamená, že je rekurzívny na zahrnutie podadresárov a -q zjednodušuje výstup príkazu len na zobrazené rozdiely.
Vzorový výstup príkazu môže vyzerať takto:
$diff -rq adresár1 adresár2
Len v adresári1: example221.txt
Len v adresári1: SuperSecretDifferentFile.rtf
Len v adresári2: AmazingScript.py
Len v adresári2: MyFavoriteSong.mp3
Len v adresári2: MyFavoriteSpecialMovie.mp4
Môžete tiež ísť o krok ďalej a presmerovať výstup tohto príkazu do súboru, povedzme, že má názov rozdiely.txt:
diff -rq adresár1 adresár2 >> rozdiely.txt
Tu je príklad a ako bude skutočný výtlačok vyzerať. Povedzme, že porovnávame priečinky s názvom „stará hudba“ a „nová hudba“ a chceme, aby výstup príkazu zobrazoval rozdiel medzi týmito dvoma adresármi v súbore s názvom „musicfolders“.txt“, potom by sa použila nasledujúca syntax príkazu:
"diff -rq stará hudba>> musicfolders.txt"
Teraz vyhľadajte v aktuálnom pracovnom adresári súbor, ktorý ste práve vytvorili pomocou príkazu diff, v tomto prípade je súborom musicfolders.txt a jeho obsah je možné zobraziť v ľubovoľnom textovom editore, príkazovom riadku alebo inak. Po otvorení textového súboru uvidíte niečo takéto:
Len v starej hudbe: pieseň1.mp3 Iba v starej hudbe: pieseň2.mp3 Iba v starej hudbe: pieseň3.mp3 Iba v novej hudbe: inštrumentálna1.mp3 Iba v nová hudba: instrumental1.mp3
Ak chcete zobraziť súbor z príkazového riadka, skúste:
more musicfolders.txt
Inak jednoducho prejdite do adresára, ktorý obsahuje a otvorte ho vo svojom obľúbenom textovom editore.
Ak nechcete vytvárať textový súbor so zmenami, jednoducho vynechajte presmerovanie výstupu príkazu. Možno budete chcieť výstup nasmerovať na niečo ako „viac“, aby ste uľahčili skenovanie:
"diff -rq stará hudba>"
Príkaz diff je pomerne výkonný a je s ním k dispozícii mnoho ďalších možností. Pomocou príkazu man diff získate úplné podrobnosti o tom, ako používať rozdiel, ako aj nespočetné množstvo dostupných funkcií.
Znova stojí za zmienku, že tento príkaz bude fungovať v Mac OS X – všetky verzie – ako aj vo väčšine operačných systémov založených na Unixe.