Sammenlign indholdet af to mapper fra kommandolinjen

Anonim

For at sammenligne og liste det forskellige indhold af to mapper uden det ekstra output, du får gennem kommandoer som diff, kan du bruge kommandoen comm i stedet. For at komme i gang skal du starte Terminal og skrive følgende kommando, justere mappestierne efter behov:

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

For at sammenligne indholdet af en mappe kaldet "Billeder" og en mappe med navnet "OldPictures", som begge er gemt i brugerens downloadbibliotek, vil syntaksen være følgende:

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

Output kan se sådan ud:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures) Folder-1-File.PNG Folder -2-fil kopi.PNG foto 1 kopi.PNG foto 3.PNG

Bemærk indrykningen, som viser dig, hvilke filer der er unikke for hver mappe. I ovenstående eksempel er filen "photo 1 copy.PNG" og "photo 3.png" højrejusteret, derfor er de unikke for OldPictures-mappen og Folder-1-File.PNG og Folder-2-File copy.PNG er unikke for den originale Pictures-mappe.

Dette fungerer godt i Mac OS X, men det er en generisk unix-kommando, så du bør også finde den brugbar i linux og andre varianter. Hvis du støder på kompatibilitetsproblemer eller synes, at denne kommando er unødvendigt kompleks, så prøv at bruge diff til at udføre den samme funktion.

Fantastisk trick fundet af @climagic på Twitter, @osxdaily er også med!

Sammenlign indholdet af to mapper fra kommandolinjen