Sammenlign innholdet i to kataloger fra kommandolinjen

For å sammenligne og oppgi de forskjellige innholdene i to kataloger uten ekstra utdata du får gjennom kommandoer som diff, kan du bruke komm-kommandoen i stedet. For å komme i gang, start Terminal og skriv inn følgende kommando, juster katalogbanene etter behov:

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

Utdataene som er oppført, vil være de filene som er forskjellige i hver mappe, med filer som er unike for mappe1 tilrettelegging av venstre, og filer som er unike for mappe 2 som er rettet inn.

For eksempel, for å sammenligne innholdet i en mappe kalt "Bilder" og en mappe som heter "OldPictures", begge lagret i brukernedlastingsmappen, vil syntaksen være følgende:

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

Output kan se ut som følgende:

$ 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

Merk innrykket, som viser hvilke filer som er unike for hver mappe. I eksemplet ovenfor er filen "bilde 1 copy.PNG" og "photo 3.png" rettet opp, derfor er de unike for OldPictures-katalogen, og mappe-1-fil.PNG og mappe-2-filkopiering. PNG er unikt for den originale Bilder-mappen.

Dette fungerer bra i Mac OS X, men det er en generell Unix-kommando, så du bør finne den brukbar i Linux og andre varianter også. Hvis du kjører inn i kompatibilitetsproblemer, eller finner denne kommandoen å være unødvendig komplisert, prøv å bruke diff for å utføre samme funksjon.

Flott triks funnet av @climagic på Twitter, @osxdaily er der også!