Hasonlítsa össze két könyvtár tartalmát a parancssorból

Anonim

A két könyvtár különböző tartalmának összehasonlításához és listázásához olyan extra kimenet nélkül, amelyet a diff parancsokon keresztül kaphat, használhatja a comm parancsot. A kezdéshez indítsa el a Terminált, és írja be a következő parancsot a könyvtár elérési útjainak megfelelő módosításával:

comm -3 <(ls -1 mappa1) <(ls -1 mappa2)

A felsorolt ​​kimenet az egyes mappákban eltérő fájlok lesznek, az 1. mappa egyedi fájlok balra, a 2. mappa egyedi fájlok pedig jobbra igazítva.

Például egy „Pictures” nevű mappa és egy „OldPictures” nevű mappa tartalmának összehasonlításához, mindkettő a felhasználói letöltési könyvtárban van tárolva, a szintaxis a következő lenne:

comm -3 <(ls -1 ~/Letöltések/Képek) <(ls -1 ~/Letöltések/Régi képek)

A kimenet a következőképpen nézhet ki:

$ comm -3 <(ls -1 ~/Letöltések/Képek) <(ls -1 ~/Letöltések/Régi képek) Mappa-1-Fájl.PNG mappa -2-Fájlmásolat.PNG-fotó 1 másolat.PNG-fotó 3.PNG

Jegyezze meg a behúzást, amely megmutatja, hogy mely fájlok egyediek az egyes mappákban. A fenti példában a „photo 1 copy.PNG” és a „photo 3.png” fájl jobbra van igazítva, ezért egyediek az OldPictures könyvtárra és a Folder-1-File-re.A PNG és a Folder-2-File copy.PNG egyediek az eredeti Pictures mappában.

Ez nagyszerűen működik Mac OS X rendszerben, de ez egy általános unix parancs, így Linuxon és más változatokban is használhatónak kell lennie. Ha bármilyen kompatibilitási problémába ütközik, vagy ezt a parancsot szükségtelenül bonyolultnak találja, próbálkozzon a diff használatával ugyanazon funkció végrehajtásához.

Nagyszerű trükköt talált @climagic a Twitteren, az @osxdaily is fent van!

Hasonlítsa össze két könyvtár tartalmát a parancssorból