Συγκρίνετε τα περιεχόμενα δύο καταλόγων από τη γραμμή εντολών

Anonim

Για να συγκρίνετε και να παραθέσετε τα διαφορετικά περιεχόμενα δύο καταλόγων χωρίς την επιπλέον έξοδο που λαμβάνετε μέσω εντολών όπως diff, μπορείτε να χρησιμοποιήσετε την εντολή comm. Για να ξεκινήσετε, εκκινήστε το Terminal και πληκτρολογήστε την ακόλουθη εντολή, προσαρμόζοντας τις διαδρομές καταλόγου ανάλογα με την περίπτωση:

comm -3 <(ls -1 φάκελος1) <(ls -1 φάκελος2)

Η έξοδος που παρατίθεται θα είναι τα αρχεία που είναι διαφορετικά σε κάθε φάκελο, με τα αρχεία μοναδικά για τον φάκελο 1 να ευθυγραμμίζονται αριστερά και τα αρχεία μοναδικά στο φάκελο 2 να ευθυγραμμίζονται δεξιά.

Για παράδειγμα, για να συγκρίνετε τα περιεχόμενα ενός φακέλου που ονομάζεται "Pictures" και ενός φακέλου με το όνομα "OldPictures", που είναι και τα δύο αποθηκευμένα στον κατάλογο λήψεων χρήστη, η σύνταξη θα είναι η εξής:

comm -3 <(ls -1 ~/Λήψεις/Εικόνες) <(ls -1 ~/Λήψεις/Παλαιές Εικόνες)

Η έξοδος μπορεί να έχει την εξής μορφή:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures) Folder-1-File.PNG Folder -2-Αντιγραφή αρχείου.Φωτογραφία PNG 1 αντίγραφο.Φωτογραφία PNG 3.PNG

Σημειώστε την εσοχή, η οποία σας δείχνει ποια αρχεία είναι μοναδικά για κάθε φάκελο. Στο παραπάνω παράδειγμα, τα αρχεία "photo 1 copy.PNG" και "photo 3.png" είναι στοιχισμένα δεξιά, επομένως είναι μοναδικά για τον κατάλογο OldPictures και το Folder-1-File.Το PNG και το Folder-2-File copy.PNG είναι μοναδικά στον αρχικό φάκελο Pictures.

Αυτό λειτουργεί άψογα στο Mac OS X, αλλά είναι μια γενική εντολή unix, επομένως θα πρέπει να τη βρείτε ότι μπορεί να χρησιμοποιηθεί και σε Linux και σε άλλες παραλλαγές. Εάν αντιμετωπίσετε προβλήματα συμβατότητας ή θεωρείτε ότι αυτή η εντολή είναι άσκοπα πολύπλοκη, δοκιμάστε να χρησιμοποιήσετε το diff για να εκτελέσετε την ίδια λειτουργία.

Υπέροχο κόλπο που βρήκε ο @climagic στο Twitter, το @osxdaily είναι επίσης εκεί!

Συγκρίνετε τα περιεχόμενα δύο καταλόγων από τη γραμμή εντολών