Paghambingin ang Dalawang Nilalaman ng Direktoryo sa isang Mac Gamit ang diff
Talaan ng mga Nilalaman:
Kung gusto mong makita ang pagkakaiba sa pagitan ng dalawang folder sa isang Mac, o paghambingin ang dalawang nilalaman ng mga direktoryo, madali mong magagawa ito sa tulong ng malakas na diff command.
Ipapakita sa iyo ng tutorial na ito kung paano ihambing ang dalawang direktoryo, at ang mga nilalaman ng mga direktoryo na iyon, sa pamamagitan ng paggamit ng Terminal. Ang command line approach na ito ay maglalabas ng file na naglalaman ng mga eksaktong pagkakaiba na ipinapakita sa pagitan ng dalawang target na folder.
Upang makamit ang paghahambing na ito, gagamitin namin ang command line tool na 'diff', ang diff ay available sa lahat ng Mac, kasama ang linux at iba pang unix operating system, kaya ito ay epektibong isang cross-platform na solusyon para sa paghahambing ng mga direktoryo. Ang diff ay medyo simple gamitin para sa madaling paghahambing ng mga nilalaman ng alinmang dalawang direktoryo, sundan lang sa pamamagitan ng paggamit ng syntax na nakadetalye sa ibaba.
Paano Ihambing ang Mga Nilalaman ng Dalawang Direktoryo na may diff
Upang makapagsimula, ilunsad ang Terminal sa Mac OS (matatagpuan sa /Applications/Utilities/) at pagkatapos ay gamitin ang sumusunod na command syntax:
diff -rq directory1 directory2
Pindutin ang return kapag tinukoy mo ang naaangkop na mga direktoryo na ihahambing. Isinasagawa nito ang diff command na naghahambing sa directory1 at directory2 (kung mayroon kang isang folder na may puwang sa pangalan ng file, ilagay lamang ito sa mga quote tulad nito: "folder one"). Ginagamit namin ang flag na -rq dahil ang ibig sabihin ng -r ay recursive na isama ang mga subdirectory, at pinapasimple ng -q ang output ng command sa mga ipinapakitang pagkakaiba lamang.
Ang sample na output ng command ay maaaring ganito ang hitsura:
$diff -rq directory1 directory2
Sa directory1 lang: example221.txt
Sa directory1 lang: SuperSecretDifferentFile.rtf
Sa directory2 lang: AmazingScript.py
Sa directory2 lang: MyFavoriteSong.mp3
Sa directory2 lang: MyFavoriteSpecialMovie.mp4
Maaari ka ring humakbang nang higit pa at i-redirect ang output ng command na iyon sa isang file, sabihin nating may pangalan itong differences.txt:
diff -rq directory1 directory2 >> differences.txt
Narito ang isang halimbawa at kung ano ang magiging hitsura ng aktwal na printout. Sabihin nating inihahambing ang mga folder na pinangalanang "lumang musika" at "bagong musika", at gusto namin ang output ng command na nagpapakita ng pagkakaiba sa pagitan ng dalawang direktoryo na iyon sa file na pinangalanang "mga musicfolder.txt" pagkatapos ay gagamitin ang sumusunod na command syntax:
"diff -rq old music>> musicfolders.txt"
Ngayon ay tumingin sa kasalukuyang gumaganang direktoryo para sa file na nilikha mo lamang sa pamamagitan ng pag-output ng diff command, sa kasong ito ang file ay musicfolders.txt at ang mga nilalaman ay maaaring matingnan sa anumang text editor, command line o kung hindi. Pagbukas ng text file, may makikita kang ganito:
Sa lumang musika lamang: kanta1.mp3 Lamang sa lumang musika: kanta2.mp3 Lamang sa lumang musika: kanta3.mp3 Lamang sa bagong musika: instrumental1.mp3 Lamang sa bagong musika: instrumental1.mp3
Kung gusto mong tingnan ang file mula sa command line, subukan ang:
more musicfolders.txt
Kung hindi man ay mag-navigate lang sa naglalaman ng direktoryo at buksan ito sa iyong paboritong text editor.
Kung mas gugustuhin mong huwag gumawa ng text file na may mga pagbabago, iwanan lang ang output redirection ng command. Maaaring gusto mong i-pipe ang output sa isang bagay na tulad ng 'higit pa' upang gawing mas madali ang pag-scan bagaman:
"diff -rq old music>"
Ang diff command ay medyo malakas at marami pang ibang opsyon na available dito, gamitin ang man diff command para makakuha ng buong detalye kung paano gamitin ang diff pati na rin ang napakaraming feature na available.
Nararapat na banggitin muli na gagana ang command na ito sa Mac OS X – lahat ng bersyon – pati na rin ang karamihan sa mga OS na nakabatay sa Unix.