Usporedite dva sadržaja direktorija na Macu koristeći diff
Sadržaj:
Ako želite vidjeti razliku između dvije mape na Macu ili usporediti sadržaj dva direktorija, to možete jednostavno učiniti uz pomoć moćne naredbe diff.
Ovaj vodič pokazat će vam kako usporediti dva direktorija i sadržaj tih direktorija pomoću terminala. Ovaj pristup naredbenog retka će ispisati datoteku koja sadrži točne razlike prikazane između dvije ciljne mape.
Da bismo postigli ovu usporedbu, koristit ćemo alat naredbenog retka 'diff', diff je dostupan na svim Mac računalima, zajedno s linuxom i drugim unix operativnim sustavima, tako da je ovo zapravo rješenje za više platformi za usporedbu imenika. Diff je prilično jednostavan za korištenje za jednostavnu usporedbu sadržaja bilo koja dva direktorija, samo slijedite koristeći sintaksu detaljno opisanu u nastavku.
Kako usporediti sadržaj dva direktorija s diff
Za početak pokrenite Terminal u Mac OS-u (nalazi se u /Applications/Utilities/), a zatim upotrijebite sljedeću sintaksu naredbi:
diff -rq direktorij1 direktorij2
Pritisnite return kada ste naveli odgovarajuće direktorije za usporedbu. Ovo izvršava naredbu diff uspoređujući direktorij1 i direktorij2 (ako imate mapu s razmakom u nazivu datoteke, samo ga stavite pod navodnike poput: "mapa jedan"). Koristimo oznaku -rq jer -r znači da je rekurzivno uključiti poddirektorije, a -q pojednostavljuje izlaz naredbe samo na prikazane razlike.
Primjer izlaza naredbe može izgledati ovako:
$diff -rq direktorij1 direktorij2
Samo u imeniku1: example221.txt
Samo u direktoriju1: SuperSecretDifferentFile.rtf
Samo u direktoriju2: AmazingScript.py
Samo u direktoriju2: MyFavoriteSong.mp3
Samo u direktoriju2: MyFavoriteSpecialMovie.mp4
Također možete ići korak dalje i preusmjeriti izlaz te naredbe u datoteku, recimo da se zove razlike.txt:
diff -rq direktorij1 direktorij2 >> razlike.txt
Evo primjera i kako će stvarni ispis izgledati. Recimo da uspoređujemo mape pod nazivom "stara glazba" i "nova glazba", i želimo da izlaz naredbe prikazuje razliku između ta dva direktorija u datoteci pod nazivom "musicfolders".txt” tada bi se koristila sljedeća sintaksa naredbe:
"diff -rq old music>> musicfolders.txt"
Sada u trenutnom radnom direktoriju potražite datoteku koju ste upravo stvorili ispisivanjem naredbe diff, u ovom slučaju datoteka je musicfolders.txt i sadržaj se može vidjeti u bilo kojem uređivaču teksta, naredbenom retku ili inače. Otvaranjem tekstualne datoteke vidjet ćete nešto poput ovoga:
Samo u staroj glazbi: song1.mp3 Samo u staroj glazbi: song2.mp3 Samo u staroj glazbi: song3.mp3 Samo u novoj glazbi: instrumental1.mp3 Samo u nova glazba: instrumental1.mp3
Ako želite pogledati datoteku iz naredbenog retka, pokušajte:
more musicfolders.txt
Inače samo dođite do direktorija koji sadrži i otvorite ga u svom omiljenom uređivaču teksta.
Ako radije ne želite stvoriti tekstualnu datoteku s promjenama, samo isključite preusmjeravanje izlaza naredbe. Ipak, možda biste željeli usmjeriti izlaz na nešto poput "više" kako biste olakšali skeniranje:
"diff -rq stara glazba>"
Naredba diff prilično je moćna i uz nju su dostupne mnoge druge mogućnosti, upotrijebite naredbu man diff da biste dobili sve pojedinosti o tome kako koristiti diff kao i bezbroj dostupnih značajki.
Vrijedi još jednom spomenuti da će ova naredba raditi u Mac OS X – svim verzijama – kao i u većini OS-ova temeljenih na Unixu.