Comparați conținutul a două directoare din linia de comandă
Pentru a compara și enumera diferitele conținuturi ale două directoare fără rezultatul suplimentar pe care îl obțineți prin comenzi precum diff, puteți utiliza comanda comm în schimb. Pentru a începe, lansați Terminal și tastați următoarea comandă, ajustând căile directorului după caz:
comm -3 <(ls -1 folder1) <(ls -1 folder2)
Ieșirea listată va fi fișierele care sunt diferite în fiecare folder, cu fișierele unice pentru folderul 1 aliniate la stânga și fișierele unice pentru folderul 2 aliniate la dreapta.
De exemplu, pentru a compara conținutul unui folder numit „Imagini” și a unui folder numit „OldPictures”, ambele stocate în directorul de descărcări ale utilizatorului, sintaxa ar fi următoarea:
comm -3 <(ls -1 ~/Descărcări/Imagini) <(ls -1 ~/Descărcări/OldPictures)
Ieșirea poate arăta astfel:
$ comm -3 <(ls -1 ~/Descărcări/Imagini) <(ls -1 ~/Descărcări/OldPictures) Folder-1-File.PNG Folder -2-Fișier copie.PNG fotografie 1 copie.PNG fotografie 3.PNG
Notați indentarea, care vă arată ce fișiere sunt unice pentru fiecare folder. În exemplul de mai sus, fișierele „photo 1 copy.PNG” și „photo 3.png” sunt aliniate la dreapta, prin urmare sunt unice pentru directorul OldPictures și Folder-1-File.PNG și Folder-2-File copy.PNG sunt unice pentru folderul Imagini original.
Acest lucru funcționează excelent în Mac OS X, dar este o comandă Unix generică, așa că ar trebui să o găsiți utilizabilă și în Linux și în alte variante. Dacă întâmpinați probleme de compatibilitate sau găsiți că această comandă este inutil de complexă, încercați să utilizați diff pentru a efectua aceeași funcție.
Un truc grozav găsit de @climagic pe Twitter, @osxdaily este și acolo!