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

Διαφορά, colordiff και wdiff

Διαφορά

Το βοηθητικό πρόγραμμα γραμμής εντολών που ονομάζεται diff είναι μέρος του πακέτου "diffutils" που υπάρχει στα αποθετήρια κάθε σημαντικής διανομής Linux. Είναι ένα απλό εργαλείο που συγκρίνει τα αρχεία γραμμής ανά γραμμή και μπορεί επίσης να συγκρίνει αρχεία σε δύο φακέλους. Αν τα επιλεγμένα αρχεία είναι πανομοιότυπα, το diff δεν θα εκτυπώσει καμία έξοδο και μπορείτε να τροποποιήσετε τις επιλογές του (για παράδειγμα, για να αγνοήσετε το λευκό κενό ή το γράμμα).

Η γενική σύνταξη είναι

 diff -option όνομα_αρχείου1 όνομα_αρχείου2 

Τα αποτελέσματα μπορούν να εμφανιστούν σε δύο στήλες με επιλογή -y ή --side-by-side . Αποκτήστε την πλήρη λίστα των επιλογών διαφοράς πληκτρολογώντας:

 diff --help 

Το πακέτο "diffutils" περιέχει επίσης diff3 - ένα εργαλείο που μπορεί να συγκρίνει τρία αρχεία και να συγχωνεύσει τρεις εκδόσεις ενός αρχείου. Ένας πολύ καλός οδηγός για να αξιοποιήσετε στο έπακρο το diff μπορεί να βρεθεί στην επίσημη ιστοσελίδα.

Colordiff

Το Colordiff είναι τεχνικά ένα "περιτύλιγμα" ή ένα σενάριο που τροποποιεί την έξοδο του diff με το χρωματισμό σύμφωνα με τις προτιμήσεις σας στο αρχείο διαμόρφωσης ("/ etc / colordiffrc" ή "/home/user/.colordiffrc"). Το πακέτο colordiff είναι διαθέσιμο στις αποθήκες των περισσότερων διανομών.

Το Colordiff έχει τις ίδιες επιλογές με το diff και μπορείτε να το χρησιμοποιήσετε είτε απευθείας πληκτρολογώντας:

 colordiff -επιλογή filename1.txt filename2.txt 

ή με τη διοχέτευση της εξόδου του diff σε αυτό:

 diff -u filename1.txt filename2.txt | colordiff 

Wdiff

Ένα άλλο παρόμοιο και λίγο πιο εξειδικευμένο εργαλείο είναι το wdiff που μπορεί να συγκρίνει τα αρχεία ανά λέξη (ορίζει μια λέξη ως κάτι που περιβάλλεται από λευκό χώρο). Το Wdiff μπορεί να αγνοήσει την περίπτωση ( -i ), να παράσχει στατιστικά στοιχεία ( -s ) σχετικά με τις αλλαγές στα δεδομένα αρχεία και να τονίσει τις διαφορές με τη μορφοποίηση ( -p ). Μπορείτε επίσης να συνδυάσετε το colordiff και το wdiff για να αποκτήσετε μια έγχρωμη επισκόπηση των διαφορών λέξεων μεταξύ των αρχείων:

 wdiff -n filename1.txt filename2.txt | colordiff 

Σημειώστε ότι πρέπει να εισαγάγετε την πλήρη διαδρομή εάν τα αρχεία δεν βρίσκονται στον ενεργό φάκελο. Για να μάθετε περισσότερα σχετικά με το wdiff, επισκεφθείτε την επίσημη ιστοσελίδα.

Λειτουργίες Diff σε Vim και Emacs

Οι δημοφιλείς επεξεργαστές κειμένων Οι Vim και Emacs διαθέτουν και ενσωματωμένο διαφορικό. Για να το ενεργοποιήσετε στο Vim, μπορείτε να ξεκινήσετε το πρόγραμμα με την εντολή vimdiff και να προσθέσετε μέχρι και τέσσερα αρχεία για σύγκριση:

 vimdiff αρχείο1 αρχείο2 [αρχείο3 [αρχείο4]] 

Το Vim ανοίγει κάθε αρχείο σε ξεχωριστό παράθυρο και επισημαίνει τις διαφορές. Μπορείτε να διαμορφώσετε τον τρόπο διαίρεσης κάθε παραθύρου για καλύτερη επισκόπηση.

Οι χρήστες του Emacs μπορούν να επιλέξουν μεταξύ μιας επέκτασης diff (που ονομάζεται "major mode") ή Ediff, μια ελαφρώς πιο προηγμένη λειτουργία που σας επιτρέπει να αλλάξετε διαδραστικά τα αρχεία σύγκρισης. Ομοίως με το Vim, οι Emacs μπορούν να εμφανίζουν τα αρχεία σε ξεχωριστά παράθυρα, δίπλα-δίπλα, και να επισημαίνουν τις διαφορές. Μπορείτε επίσης να το χρησιμοποιήσετε για τη συγχώνευση αρχείων και επίσης λειτουργεί με συμπιεσμένα αρχεία.

Και οι δύο συντάκτες κειμένων έχουν σχετικά περίπλοκη σύνταξη που απαιτεί κάποια εκμάθηση, αλλά αποδίδει, αφού είναι πολύ ισχυρό και εξειδικευμένο.

Kdiff3

Το Kdiff3 είναι ένα γραφικό μέτωπο για diff, που σημαίνει ότι βασίζεται σε diff και προσφέρει όλες τις επιλογές του. Σας επιτρέπει να συγκρίνετε δύο αρχεία σε ένα βασικό αρχείο και να συγχωνεύσετε, να διαχωρίσετε και να ενώσετε ολόκληρους φακέλους, αρχεία ή απλά επιλεγμένα μέρη του κειμένου. Το Kdiff3 ενσωματώνει καλά με το KDE (υποστηρίζει μενού υπηρεσιών Dolphin), αλλά θα λειτουργεί σε όλες τις διανομές Linux, Windows και Mac OS X. Το παράθυρο διαλόγου "Ρυθμίσεις -> Διαμόρφωση Kdiff3" σας επιτρέπει να ορίσετε παραμέτρους για τη σύγκριση αρχείων σε φακέλους, δυαδική σύγκριση ή πλήρες περιεχόμενο) και μεταξύ αρχείων (παραβλέψτε την περίπτωση, τους αριθμούς και τον κενό χώρο). Μπορείτε να αλλάξετε τις επικαλύψεις λέξεων και τους αριθμούς γραμμών για καλύτερη επισκόπηση και να προσαρμόσετε τις ρυθμίσεις χρωμάτων για να επισημάνετε τις διαφορές.

Το μεγάλο πράγμα για το Kdiff3 είναι ότι σας επιτρέπει να επικολλήσετε κείμενο από οποιοδήποτε αρχείο απευθείας στο κύριο παράθυρο, εξαλείφοντας την ανάγκη δημιουργίας αρχείων όταν θέλετε απλώς να συγκρίνετε κείμενο "on the-the-fly". Ένα λεπτομερές εγχειρίδιο Kdiff3 είναι διαθέσιμο online.

Διαχέω

Εκ πρώτης όψεως φαίνεται απλό, αλλά το Diffuse είναι εξίσου ισχυρό με τα άλλα εργαλεία αυτής της λίστας. Μπορεί να συγκρίνει έναν απεριόριστο αριθμό αρχείων σε μια προβολή δίπλα-δίπλα και να συνοψίσει τις διαφορές. Μπορείτε να επεξεργαστείτε αρχεία απευθείας από το Diffuse και να εκτελέσετε συγχωνεύσεις και αντιστοίχιση γραμμών. Υποστηρίζει επίσης (περιορισμένη) επισήμανση σύνταξης και προσφέρει ολοκλήρωση με διάφορα συστήματα ελέγχου έκδοσης - συμπεριλαμβανομένων των Git, Mercurial και Subversion - για να σας βοηθήσουν να διατηρείτε αρχεία συγχρονισμένα. Η διάχυτη εργασία σε Linux, Windows και Mac OS X, και μπορείτε να κατεβάσετε τα πακέτα εγκατάστασης από την ιστοσελίδα του έργου.

Διαφορά

Αυτή η εφαρμογή λειτουργεί σε Linux, Windows και OS X, ενσωματώνεται καλά με την Εξερεύνηση των Windows και προσφέρει πακέτα εγκαταστάτη για ορισμένες διανομές. Μπορείτε να επεξεργαστείτε αρχεία μέσα στο Diffmerge, να συγχωνεύσετε αυτόματα τις εκδόσεις αρχείων και να εξάγετε διαφορές σε ένα νέο αρχείο. Μπορεί να συγκρίνει έως και τρία αρχεία και δύο φακέλους και να δείξει εάν τα αρχεία είναι πανομοιότυπα, τα οποία μπορούν να είναι χρήσιμα κατά τον έλεγχο της σωστής εκτέλεσης ενός backup rsync.

Ο διάλογος ρυθμίσεων σάς επιτρέπει να ορίσετε προσαρμοσμένους κανόνες για το χειρισμό διαφόρων τύπων αρχείων. Το Diffmerge είναι δωρεάν, αλλά περιστασιακά θα σας ζητήσει ένα κλειδωμένο κλειδί εγγραφής. Αυτό μπορεί να αποτρέψει ορισμένους χρήστες. ευτυχώς, μπορούν να επιλέξουν ένα άλλο εργαλείο από αυτόν τον κατάλογο, δεδομένου ότι όλοι προσφέρουν περισσότερο ή λιγότερο τις ίδιες επιλογές.

Meld

Meld πακέτα χαρακτηριστικά από άλλα εργαλεία diff σε μια Python-built interface. Μπορείτε να κάνετε λήψη της πηγής και της έκδοσης των Windows και να βρείτε το πακέτο στα αποθετήρια εάν είστε χρήστης του Ubuntu, του Fedora ή του SUSE. Ένα δροσερό πράγμα για το Meld είναι ότι δεν χρειάζεται να το εγκαταστήσετε - απλά εκτελέστε το εκτελέσιμο και χρησιμοποιήστε το ως φορητή εφαρμογή.

Το Meld υποστηρίζει την επεξεργασία αρχείων, το φιλτράρισμα με κανονικές εκφράσεις, τη σύγκριση και τη συγχώνευση τριών αρχείων και τη σύγκριση δύο ή τριών φακέλων και το περιεχόμενό τους, ενώ παράλληλα παρέχει χρήσιμη απεικόνιση των διαφορών χρησιμοποιώντας τα βέλη και την έγχρωμη κωδικοποίηση. Εάν χρησιμοποιείτε ένα σύστημα ελέγχου έκδοσης όπως το Git, το Mercurial ή το SVN, το Meld μπορεί να διαχειριστεί τα αρχεία σας, να ελέγξει για αλλαγές και να εκτελέσει δεσμεύσεις και ενημερώσεις. Το Meld ενημερώνεται τακτικά, έτσι μπορούμε να ελπίζουμε για νέα χαρακτηριστικά σε μελλοντικές εκδόσεις.

Αλλες επιλογές

Εάν δεν αισθάνεστε ότι θέλετε να εγκαταστήσετε μια νέα εφαρμογή για αυτό το σκοπό και δεν χρειάζεστε προηγμένες δυνατότητες σύγκρισης αρχείων, μπορείτε να δοκιμάσετε μερικά από τα πολλά εργαλεία διαδικτυακών διαφορών που είναι δωρεάν και χρειάζονται μόνο ένα πρόγραμμα περιήγησης ιστού.

Χρησιμοποιείτε ένα εργαλείο diff που δεν βρίσκεται σε αυτήν τη λίστα; Ενημερώστε μας σχετικά με τα σχόλια.

Πιστοποίηση εικόνας: Πηγή εικόνας του Teaser