Jämför innehållet i två kataloger från kommandoraden

Anonim

För att jämföra och lista de olika innehållen i två kataloger utan den extra utdata du får genom kommandon som diff, kan du använda kommandot comm istället. För att komma igång, starta Terminal och skriv följande kommando, justera katalogsökvägarna efter behov:

comm -3 <(ls -1 mapp1) <(ls -1 mapp2)

För att till exempel jämföra innehållet i en mapp som heter "Pictures" och en mapp med namnet "OldPictures", båda lagrade i användarens nedladdningskatalog, skulle syntaxen vara följande:

comm -3 <(ls -1 ~/Nedladdningar/Bilder) <(ls -1 ~/Nedladdningar/Gamla bilder)

Utdata kan se ut så här:

$ comm -3 <(ls -1 ~/Nedladdningar/Bilder) <(ls -1 ~/Nedladdningar/OldPictures) Folder-1-File.PNG Folder -2-fil kopia.PNG-foto 1 kopia.PNG-foto 3.PNG

Notera indraget, som visar vilka filer som är unika för varje mapp. I exemplet ovan är filen "photo 1 copy.PNG" och "photo 3.png" rättjusterade, därför är de unika för OldPictures-katalogen och Folder-1-File.PNG och Folder-2-File copy.PNG är unika för originalmappen Pictures.

Detta fungerar utmärkt i Mac OS X, men det är ett generiskt unix-kommando så du bör tycka att det är användbart i Linux och andra varianter också. Om du stöter på kompatibilitetsproblem eller tycker att det här kommandot är onödigt komplicerat, försök använda diff för att utföra samma funktion.

Bra trick hittat av @climagic på Twitter, @osxdaily finns också där!

Jämför innehållet i två kataloger från kommandoraden