Milyen könyvtár-összehasonlító eszközöket használhatok az OS X rendszeren?
On február 10, 2021 by adminOlyan eszközt keresek, amely nem csak fájlokat, hanem könyvtárakat is képes összehasonlítani. Fontos, hogy az eszközt a parancssorból is lehívhassuk.
Nagyon jó lenne egy ingyenes eszköz, ha nem ingyenes, kérjük, adja meg az árát.
Válasz
Az összes googler számára … nézze meg a Beyond Compare it szabályokat. 30 vagy 50 dollárba kerül a Pro verzió esetében.
Megjegyzések
- Általában megpróbálom elkerülni a kereskedelmi megoldások ajánlását, ha léteznek ingyenes és nyílt forráskódú alternatívák, de a BeyondCompare egy különleges eset, amikor minden fillért megér … és több platformos is. Több mint 10 éve használom, és sokáig vártam, hogy megszerezzem a MacOS verziót.
- Most 2020 április van, és a pro verzió most 60 dollárba kerül.
- I ' kipróbáltuk az ezen az oldalon található összes megoldást, és szerintem a Beyond Compare 100% -ban a legjobb és legértékesebb ajánlás.
Válasz Az Xcode-val együtt szállított h2>
FileMerge (ingyenes) könyvtárnézetet kínál.
A parancssori verzió a Terminal alkalmazás opendiff-jén keresztül érhető el.
Itt hasonlíthatja össze két könyvtárat a FileMerge-vel:
- ⌘ + szóköz, írja be a “FileMerge” szót és nyissa meg.
- Kattintson a „bal” gombra, és válassza ki azt a mappát, ahonnan az elemeket áthelyezni szeretné. (A „régi” mappa)
- Kattintson a „jobb” gombra, és válassza ki a kívánt mappát szeretné áthelyezni az elemeket a TO. (“új” mappába), és kattintson az “Összehasonlítás” gombra.
- A jobb oldali panelen válassza ki az “azonos” és a “Jobbra módosított” kizárást. Így csak y megnézheti azokat a fájlokat, amelyek hiányoznak az “új” mappából, és figyelmen kívül hagyja azokat a fájlokat, amelyeket esetleg hozzáadott az “új” mappához.
- A fájlokat kézzel helyezze át a Finderben, vagy hagyja, hogy a FileMerge végezze el, az opció kiválasztásával Az egyesítés legördülő menü a jobb oldali panelen.
Megjegyzések
- Ezt a választ szeretném választani, mert
opendiff
tekinthető szinte " csomagban " az OS X-szel, de amikor két mappát próbálok diffundálni, akkor egy csúnya nézet, amelyet nem volt olyan könnyű megérteni, és azt sem láttam, hogyan lehet két fájlt egyesíteni fájlnézetben. ' biztos vagyok benne, hogy lehetséges, de ha ez az alapvető funkció nem nyilvánvaló, akkor inkább valami jobbat keresek;)
- A FileMerge nem olyan jó, mint BeyondCompare, hosszú lövéssel. De ingyenes, és egyszeri követelmény, hogy ' legyen az az ár, amit kerestem 🙂
Válasz
Beépített segédprogram MacOS és Linux rendszerekhez
Ha nem bánja a terminál használatát, akkor a diff
parancs összehasonlíthatja a könyvtárakat.
Ez a segédprogram a legtöbb Linux disztribúcióban is elérhető.
diff -rq directory1/ directory2/
-r
az alkönyvtárakon keresztüli visszatérést jelzi, az -q
rövid kimenetet ad (azaz ne mutassa meg a tényleges különbségeket, csak vegye figyelembe, hogy a fájlok / direk milyenek).
További hasznos lehetőségek:
-s
azonos fájlok jelentése,
-i
a fájl tartalmában a kis- és nagybetűk figyelmen kívül hagyása,
--ignore-file-name-case
figyelmen kívül hagyja az esetet a fájlnevek összehasonlításakor.
Ha el akarja kerülni a .DS_Store
fájlokat, majd használja:
diff -rq directory1/ directory2/ | grep -v .DS_Store
megjegyzések
- Az almappákat közvetlenül kizárhatja a következővel:
diff --exclude node_modules
- Még jobb, ha használhatja a
diff -x node_modules
Válasz
Diffmerge meg kell felelnie az összes követelménynek.
Megjegyzések
- Csak remélem, hogy telepítőt készítenek amelyek képesek lesznek telepíteni a parancssori indítókat és javítani az aktuális telepítési élményt.
- Ez egy régi téma – de a
brew cask install diffmerge
keresztül telepítettem és telepítettem problémák nélkül.
- 2016. április: Még mindig karbantartott, és továbbra is az egyik fejlesztéshez szükséges eszközem.
- FWIW kipróbáltam a
brew cask install diffmerge
ma (2020. június), és amikor megpróbáltam futtatni a diffmerge-t, kaptam egy figyelmeztető dobozt, amely azt mondta nekem, hogy a MacOS nem ' nem fogja futtatni a programot, mert ' nem igazolja a fejlesztőt. (a diffmerge nem futott)
- @MikeTheTall Is ' t, amely általában nem az App Store-ból származik? Megpróbálta közvetlenül a Ctrl billentyűt, kattintson az alkalmazás ikonjára, majd válassza a
open
lehetőséget a helyi menüből?
Válasz
Ennek eléréséhez egy másik ügyes eszköz az rsync, amint azt a Unix & Linux StackExchange leírja .Két mappa összehasonlításához megteheti
rsync -avun $SOURCE $TARGET
És ha valóban aggódik a fájlkonzisztencia / bitrothadás miatt, akkor a c opció a fájlellenőrző összegek összehasonlítására is
rsync -avnc $SOURCE $TARGET
Megjegyzések
- Nagyszerű hivatkozás az összes Unix-ra való hasznosságára.
Válasz
Nemrég vásároltam a Kaleidoszkóp (kb.) példányát 40 USD). Ez egy tiszta alkalmazás.
vimdiff a parancssoron keresztül is elérhető, és a legtöbb UNIXy tartományban hordozható.
Megjegyzések
- Én ' néhány hónapja használom a Kaleidoscope-ot. Megéri az árát. Alkalmanként kapható.
- A Kaleidoscope nem teszi lehetővé fájlok szerkesztését, haszontalanok!
- A Kaleidoscope ára az App Store-ban 2020-ban: 74,99 eur
Válasz
Próbálja ki a hatékony nyílt forráskódú szoftvert összeolvadva . A Mac verzió megtalálható a Meld for OSX oldalon: támogatja a könyvtárak és a fájlok összehasonlítását, és kiválóan működik Mac alatt is.
Nekem szóltak, hogy javítsam ezt válaszoljon és magyarázza el, miért jó a meld. Általánosságban elmondható, hogy a Meld egy teljes szolgáltatás-összehasonlító szoftver, amelyet főként a GNOME-ban használnak. Jobb, mint sok itt felsorolt szoftver, mert
- ingyenes és nyílt forráskódú Tehát yo u nem kell aggódnod a díj vagy a biztonság miatt.
- ha nem is erőteljesebb, akkor ugyanolyan kifinomult, mint egy csomó pénzt kérő szoftver, sok szoftver
- felhasználó- barátságos, és nem jár összetett konfigurációval vagy gépelési paranccsal a terminálon. A telepítés után azonnal használnia kell.
Az a rész, amely nem olyan jó, az lehet, hogy a GTK alatt fejlesztették ki. Tehát néha nem olyan jellegű, mint a természet MAC programjai. Ezenkívül a régi MAC verziók kissé hibásak voltak. De a legfrissebb 3.19.2, amelyet jelenleg használok, remekül működik, és még soha nem találkoztam problémával.
Megjegyzések
- A telepítés is egyszerű
brew cask install meld
Válasz
A Bare Bones Software Text Wrangler rendelkezik könyvtár összehasonlítással, bár csak azt mutatja, hogy mely fájlok vannak mindkét könyvtárban, és melyek csak az egyes könyvtárakban. egy fájl, amelyet mindkettőben szerkeszthet, ha a módosításokat soronként egyesíti egy gombnyomással. Ez azonban nem enged fájlokat áthelyezni. Ezt külsőleg kell megtennie (pl. A Finderen keresztül).
Úgy gondolom, hogy ez az egyik jobb ingyenes lehetőség.
Válasz
A mappa szinkronizálását használom 8,99 dollárba kerül a Mac App Store Nagyon szépen működik.
Válasz
Összehasonlítottam a nagy mappaszerkezeteket (DVD-ket) A múltban egy parancssori segédprogramot fejlesztettem ki erre a célra. Nemrég tettem ingyenes (CrcCheckCopy) segédprogramot és platformokon átívelővé (MacOS és Windows).
A CrcCheckCopy beolvassa a forrásmappát és létrehoz az összes fájl CRC bélyegzőit tartalmazó fájl. Ezután ezt a fájlt használják a célmappák összehasonlítására.
Itt szerezheti be: https://www.starmessagesoftware.com/crccheckcopy Visszajelzését nagyra értékeljük.
Válasz
Változások alkalmazás (37,19 USD) régen a jaj volt rkforce erre. Olyan jó, mint a Beyond Compare.
Megjegyzés: Remélem, hogy ennek a minőségbiztosításnak megengedett a létezése, bár legalább a SO normáival ellentétes a termékek gyártása. A MacOS számára továbbra is élőben van egy használható, intuitív, grafikus könyvtár-összehasonlító eszköz iránti igény. A nyílt forráskódú pályázók nem érték el azt a használhatósági szintet, amelyet a kereskedelmi eszközök nyújtanak.
Válasz
Ha tudod, hogyan kell futtatni a Python szolgáltatást , itt van egy szkript, amelyet egy ideje írtam két könyvtár hatékony összehasonlítása érdekében.
Jellemzők:
- összehasonlíthatja a faszerkezeteket és a fájlváltozásokat (a fájlméret alapján & MD5 hash)
- kikapcsolhatja a fájlok összehasonlítását, csak a fa szerkezetének változását mutatja (nagyon gyorsan!)
- kikapcsolhatja a fájlok tartalmának összehasonlítását , csak a fájlméret változásaira támaszkodva (ismét nagyon gyorsan)
- színezheti a kimenetet a jobb olvashatóság érdekében.
És természetesen módosíthatja az Ön igényeinek megfelelően, ha tudja, hogyan kell programozni.
#!/usr/bin/env python3 """ A script to recursively compare two directories (including file size and file hash changes) Usage: python3 compare_dirs.py DIR1 DIR2 """ import os, sys, hashlib COMPARE_FILES = True # should file sizes be compared if their names are the same? MD5 = True # should file hash sums be compared if their names and sizes are the same? COLORIZE = False # colorization for bash (only Linux & Unix) def md5sum(fn): hasher = hashlib.md5() with open(fn, "rb") as f: hasher.update(f.read()) return hasher.hexdigest() WHITE, RED, GREEN = 15, 196, 46 fg = lambda text, color: "\33[38;5;" + str(color) + "m" + text + "\33[0m" def compare_dirs(d1: "old directory name", d2: "new directory name"): def print_local(a, msg): text = "{} {} {}".format("DIR " if a[2] else "FILE", a[1], msg) if COLORIZE: color = {"added": GREEN, "removed": RED}.get(msg, WHITE) print(fg(text, color)) else: print(text) # Ensure validity for d in [d1,d2]: if not os.path.isdir(d): raise ValueError("not a directory: " + d) # Get relative path l1 = [(fn, os.path.join(d1, fn)) for fn in os.listdir(d1)] l2 = [(fn, os.path.join(d2, fn)) for fn in os.listdir(d2)] # Determine type: directory or file? l1 = sorted([(fn, pth, os.path.isdir(pth)) for fn, pth in l1]) l2 = sorted([(fn, pth, os.path.isdir(pth)) for fn, pth in l2]) i1 = i2 = 0 cnt = 0 common_dirs = [] while i1<len(l1) and i2<len(l2): if l1[i1][0] == l2[i2][0]: # same name if l1[i1][2] == l2[i2][2]: # same type if l1[i1][2]: # Pair of directories -> remember the name for recursion common_dirs.append((l1[i1][1], l2[i2][1])) elif COMPARE_FILES: # Pair of files -> compare their sizes size1 = os.stat(l1[i1][1]).st_size size2 = os.stat(l2[i2][1]).st_size if size1!=size2: print_local(l1[i1],"size changed: {:d} -> {:d}".format(size1, size2)) elif MD5: # Sizes are the same -> compare MD5 hashes if md5sum(l1[i1][1])!=md5sum(l2[i2][1]): print_local(l1[i1],"hash changed") else: print_local(l1[i1],"type changed") i1 += 1 i2 += 1 elif l1[i1][0]<l2[i2][0]: print_local(l1[i1],"removed") i1 += 1 elif l1[i1][0]>l2[i2][0]: print_local(l2[i2],"added") i2 += 1 cnt += 1 while i1<len(l1): print_local(l1[i1],"removed") i1 += 1 cnt += 1 while i2<len(l2): print_local(l2[i2],"added") i2 += 1 cnt += 1 # Compare subfolders recursively for sdir1,sdir2 in common_dirs: cnt += compare_dirs(sdir1, sdir2) return cnt if __name__=="__main__": print ("Comparing files {}abled".format("en" if COMPARE_FILES else "dis")) print ("MD5 checking {}abled".format("en" if MD5 else "dis")) print ("Colorization {}abled".format("en" if COLORIZE else "dis")) print (compare_dirs(sys.argv[1], sys.argv[2]), "items compared")
Hivatkozás a GitHub Gist-re.
MEGJEGYZÉS: nem fog működni az iCloudba áthelyezett fájlok vagy alkönyvtárak esetében.
Válasz
A legkönnyebb megoldás: Szinkronizálja a fájlokat a Dropbox vagy hasonló eszközzel, majd csak a WinMerge programot használja a Windows rendszeren.
Az Xcode-val együtt szállított FileMerge segédprogram nem hasonlítja össze a mappákat és nem egyesíti / szerkeszti.
FileMerge (ingyenes) könyvtárnézetet kínál.
A parancssori verzió a Terminal alkalmazás opendiff-jén keresztül érhető el.
Itt hasonlíthatja össze két könyvtárat a FileMerge-vel:
- ⌘ + szóköz, írja be a “FileMerge” szót és nyissa meg.
- Kattintson a „bal” gombra, és válassza ki azt a mappát, ahonnan az elemeket áthelyezni szeretné. (A „régi” mappa)
- Kattintson a „jobb” gombra, és válassza ki a kívánt mappát szeretné áthelyezni az elemeket a TO. (“új” mappába), és kattintson az “Összehasonlítás” gombra.
- A jobb oldali panelen válassza ki az “azonos” és a “Jobbra módosított” kizárást. Így csak y megnézheti azokat a fájlokat, amelyek hiányoznak az “új” mappából, és figyelmen kívül hagyja azokat a fájlokat, amelyeket esetleg hozzáadott az “új” mappához.
- A fájlokat kézzel helyezze át a Finderben, vagy hagyja, hogy a FileMerge végezze el, az opció kiválasztásával Az egyesítés legördülő menü a jobb oldali panelen.
Megjegyzések
- Ezt a választ szeretném választani, mert
opendiff
tekinthető szinte " csomagban " az OS X-szel, de amikor két mappát próbálok diffundálni, akkor egy csúnya nézet, amelyet nem volt olyan könnyű megérteni, és azt sem láttam, hogyan lehet két fájlt egyesíteni fájlnézetben. ' biztos vagyok benne, hogy lehetséges, de ha ez az alapvető funkció nem nyilvánvaló, akkor inkább valami jobbat keresek;) - A FileMerge nem olyan jó, mint BeyondCompare, hosszú lövéssel. De ingyenes, és egyszeri követelmény, hogy ' legyen az az ár, amit kerestem 🙂
Beépített segédprogram MacOS és Linux rendszerekhez
Ha nem bánja a terminál használatát, akkor a diff
parancs összehasonlíthatja a könyvtárakat.
Ez a segédprogram a legtöbb Linux disztribúcióban is elérhető.
diff -rq directory1/ directory2/
-r
az alkönyvtárakon keresztüli visszatérést jelzi, az -q
rövid kimenetet ad (azaz ne mutassa meg a tényleges különbségeket, csak vegye figyelembe, hogy a fájlok / direk milyenek).
További hasznos lehetőségek:
-s
azonos fájlok jelentése,
-i
a fájl tartalmában a kis- és nagybetűk figyelmen kívül hagyása,
--ignore-file-name-case
figyelmen kívül hagyja az esetet a fájlnevek összehasonlításakor.
Ha el akarja kerülni a .DS_Store
fájlokat, majd használja:
diff -rq directory1/ directory2/ | grep -v .DS_Store
megjegyzések
- Az almappákat közvetlenül kizárhatja a következővel:
diff --exclude node_modules
- Még jobb, ha használhatja a
diff -x node_modules
Diffmerge meg kell felelnie az összes követelménynek.
Megjegyzések
- Csak remélem, hogy telepítőt készítenek amelyek képesek lesznek telepíteni a parancssori indítókat és javítani az aktuális telepítési élményt.
- Ez egy régi téma – de a
brew cask install diffmerge
keresztül telepítettem és telepítettem problémák nélkül. - 2016. április: Még mindig karbantartott, és továbbra is az egyik fejlesztéshez szükséges eszközem.
- FWIW kipróbáltam a
brew cask install diffmerge
ma (2020. június), és amikor megpróbáltam futtatni a diffmerge-t, kaptam egy figyelmeztető dobozt, amely azt mondta nekem, hogy a MacOS nem ' nem fogja futtatni a programot, mert ' nem igazolja a fejlesztőt. (a diffmerge nem futott) - @MikeTheTall Is ' t, amely általában nem az App Store-ból származik? Megpróbálta közvetlenül a Ctrl billentyűt, kattintson az alkalmazás ikonjára, majd válassza a
open
lehetőséget a helyi menüből?
Ennek eléréséhez egy másik ügyes eszköz az rsync, amint azt a Unix & Linux StackExchange leírja .Két mappa összehasonlításához megteheti
rsync -avun $SOURCE $TARGET
És ha valóban aggódik a fájlkonzisztencia / bitrothadás miatt, akkor a c opció a fájlellenőrző összegek összehasonlítására is
rsync -avnc $SOURCE $TARGET
Megjegyzések
- Nagyszerű hivatkozás az összes Unix-ra való hasznosságára.
Nemrég vásároltam a Kaleidoszkóp (kb.) példányát 40 USD). Ez egy tiszta alkalmazás.
vimdiff a parancssoron keresztül is elérhető, és a legtöbb UNIXy tartományban hordozható.
Megjegyzések
- Én ' néhány hónapja használom a Kaleidoscope-ot. Megéri az árát. Alkalmanként kapható.
- A Kaleidoscope nem teszi lehetővé fájlok szerkesztését, haszontalanok!
- A Kaleidoscope ára az App Store-ban 2020-ban: 74,99 eur
Próbálja ki a hatékony nyílt forráskódú szoftvert összeolvadva . A Mac verzió megtalálható a Meld for OSX oldalon: támogatja a könyvtárak és a fájlok összehasonlítását, és kiválóan működik Mac alatt is.
Nekem szóltak, hogy javítsam ezt válaszoljon és magyarázza el, miért jó a meld. Általánosságban elmondható, hogy a Meld egy teljes szolgáltatás-összehasonlító szoftver, amelyet főként a GNOME-ban használnak. Jobb, mint sok itt felsorolt szoftver, mert
- ingyenes és nyílt forráskódú Tehát yo u nem kell aggódnod a díj vagy a biztonság miatt.
- ha nem is erőteljesebb, akkor ugyanolyan kifinomult, mint egy csomó pénzt kérő szoftver, sok szoftver
- felhasználó- barátságos, és nem jár összetett konfigurációval vagy gépelési paranccsal a terminálon. A telepítés után azonnal használnia kell.
Az a rész, amely nem olyan jó, az lehet, hogy a GTK alatt fejlesztették ki. Tehát néha nem olyan jellegű, mint a természet MAC programjai. Ezenkívül a régi MAC verziók kissé hibásak voltak. De a legfrissebb 3.19.2, amelyet jelenleg használok, remekül működik, és még soha nem találkoztam problémával.
Megjegyzések
- A telepítés is egyszerű
brew cask install meld
A Bare Bones Software Text Wrangler rendelkezik könyvtár összehasonlítással, bár csak azt mutatja, hogy mely fájlok vannak mindkét könyvtárban, és melyek csak az egyes könyvtárakban. egy fájl, amelyet mindkettőben szerkeszthet, ha a módosításokat soronként egyesíti egy gombnyomással. Ez azonban nem enged fájlokat áthelyezni. Ezt külsőleg kell megtennie (pl. A Finderen keresztül).
Úgy gondolom, hogy ez az egyik jobb ingyenes lehetőség.
A mappa szinkronizálását használom 8,99 dollárba kerül a Mac App Store Nagyon szépen működik.
Összehasonlítottam a nagy mappaszerkezeteket (DVD-ket) A múltban egy parancssori segédprogramot fejlesztettem ki erre a célra. Nemrég tettem ingyenes (CrcCheckCopy) segédprogramot és platformokon átívelővé (MacOS és Windows).
A CrcCheckCopy beolvassa a forrásmappát és létrehoz az összes fájl CRC bélyegzőit tartalmazó fájl. Ezután ezt a fájlt használják a célmappák összehasonlítására.
Itt szerezheti be: https://www.starmessagesoftware.com/crccheckcopy Visszajelzését nagyra értékeljük.
Változások alkalmazás (37,19 USD) régen a jaj volt rkforce erre. Olyan jó, mint a Beyond Compare.
Megjegyzés: Remélem, hogy ennek a minőségbiztosításnak megengedett a létezése, bár legalább a SO normáival ellentétes a termékek gyártása. A MacOS számára továbbra is élőben van egy használható, intuitív, grafikus könyvtár-összehasonlító eszköz iránti igény. A nyílt forráskódú pályázók nem érték el azt a használhatósági szintet, amelyet a kereskedelmi eszközök nyújtanak.
Ha tudod, hogyan kell futtatni a Python szolgáltatást , itt van egy szkript, amelyet egy ideje írtam két könyvtár hatékony összehasonlítása érdekében.
Jellemzők:
- összehasonlíthatja a faszerkezeteket és a fájlváltozásokat (a fájlméret alapján & MD5 hash)
- kikapcsolhatja a fájlok összehasonlítását, csak a fa szerkezetének változását mutatja (nagyon gyorsan!)
- kikapcsolhatja a fájlok tartalmának összehasonlítását , csak a fájlméret változásaira támaszkodva (ismét nagyon gyorsan)
- színezheti a kimenetet a jobb olvashatóság érdekében.
És természetesen módosíthatja az Ön igényeinek megfelelően, ha tudja, hogyan kell programozni.
#!/usr/bin/env python3 """ A script to recursively compare two directories (including file size and file hash changes) Usage: python3 compare_dirs.py DIR1 DIR2 """ import os, sys, hashlib COMPARE_FILES = True # should file sizes be compared if their names are the same? MD5 = True # should file hash sums be compared if their names and sizes are the same? COLORIZE = False # colorization for bash (only Linux & Unix) def md5sum(fn): hasher = hashlib.md5() with open(fn, "rb") as f: hasher.update(f.read()) return hasher.hexdigest() WHITE, RED, GREEN = 15, 196, 46 fg = lambda text, color: "\33[38;5;" + str(color) + "m" + text + "\33[0m" def compare_dirs(d1: "old directory name", d2: "new directory name"): def print_local(a, msg): text = "{} {} {}".format("DIR " if a[2] else "FILE", a[1], msg) if COLORIZE: color = {"added": GREEN, "removed": RED}.get(msg, WHITE) print(fg(text, color)) else: print(text) # Ensure validity for d in [d1,d2]: if not os.path.isdir(d): raise ValueError("not a directory: " + d) # Get relative path l1 = [(fn, os.path.join(d1, fn)) for fn in os.listdir(d1)] l2 = [(fn, os.path.join(d2, fn)) for fn in os.listdir(d2)] # Determine type: directory or file? l1 = sorted([(fn, pth, os.path.isdir(pth)) for fn, pth in l1]) l2 = sorted([(fn, pth, os.path.isdir(pth)) for fn, pth in l2]) i1 = i2 = 0 cnt = 0 common_dirs = [] while i1<len(l1) and i2<len(l2): if l1[i1][0] == l2[i2][0]: # same name if l1[i1][2] == l2[i2][2]: # same type if l1[i1][2]: # Pair of directories -> remember the name for recursion common_dirs.append((l1[i1][1], l2[i2][1])) elif COMPARE_FILES: # Pair of files -> compare their sizes size1 = os.stat(l1[i1][1]).st_size size2 = os.stat(l2[i2][1]).st_size if size1!=size2: print_local(l1[i1],"size changed: {:d} -> {:d}".format(size1, size2)) elif MD5: # Sizes are the same -> compare MD5 hashes if md5sum(l1[i1][1])!=md5sum(l2[i2][1]): print_local(l1[i1],"hash changed") else: print_local(l1[i1],"type changed") i1 += 1 i2 += 1 elif l1[i1][0]<l2[i2][0]: print_local(l1[i1],"removed") i1 += 1 elif l1[i1][0]>l2[i2][0]: print_local(l2[i2],"added") i2 += 1 cnt += 1 while i1<len(l1): print_local(l1[i1],"removed") i1 += 1 cnt += 1 while i2<len(l2): print_local(l2[i2],"added") i2 += 1 cnt += 1 # Compare subfolders recursively for sdir1,sdir2 in common_dirs: cnt += compare_dirs(sdir1, sdir2) return cnt if __name__=="__main__": print ("Comparing files {}abled".format("en" if COMPARE_FILES else "dis")) print ("MD5 checking {}abled".format("en" if MD5 else "dis")) print ("Colorization {}abled".format("en" if COLORIZE else "dis")) print (compare_dirs(sys.argv[1], sys.argv[2]), "items compared")
Hivatkozás a GitHub Gist-re.
MEGJEGYZÉS: nem fog működni az iCloudba áthelyezett fájlok vagy alkönyvtárak esetében.
A legkönnyebb megoldás: Szinkronizálja a fájlokat a Dropbox vagy hasonló eszközzel, majd csak a WinMerge programot használja a Windows rendszeren.
Az Xcode-val együtt szállított FileMerge segédprogram nem hasonlítja össze a mappákat és nem egyesíti / szerkeszti.
Vélemény, hozzászólás?