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

För att jämföra och lista olika innehåll i två kataloger utan den extra utmatningen du får genom kommandon som diff, kan du istället använda komm-kommandot. För att komma igång, starta Terminal och skriv följande kommando, justera katalogvägarna som är lämpliga:

comm -3 <(ls -1 folder1) <(ls -1 folder2)

Den angivna utsignalen kommer att vara de filer som skiljer sig åt i varje mapp, med filer som är unika för mapp1 anpassning till vänster och filer som är unika för mapp 2 anpassning höger.

Till exempel, för att jämföra innehållet i en mapp med namnet "Bilder" och en mapp med namnet "OldPictures", båda lagrade i katalogen för nedladdningar av användare, skulle syntaxen vara följande:

comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)

Utgången kan se ut som följande:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)
Folder-1-File.PNG
Folder-2-File copy.PNG
photo 1 copy.PNG
photo 3.PNG

Observera indrymmet, som visar vilka filer som är unika för varje mapp. I det ovanstående exemplet är filen "foto 1 copy.PNG" och "photo 3.png" justerad rätt, därför är de unika för OldPictures-katalogen och mapp-1-fil.PNG och mapp-2-filkopiering. PNG är unika för mappen Original Pictures.

Det här fungerar bra i Mac OS X, men det är ett generellt unix-kommando, så du borde hitta den användbar i Linux och andra varianter också. Om du stöter på några kompatibilitetsproblem, eller hitta det här kommandot för att vara onödigt komplicerat, försök använda diff för att utföra samma funktion.

Stort trick som hittades av @climagic på Twitter, @osxdaily finns också där!