Πώς να συγκρίνετε δύο αρχεία κειμένου χρησιμοποιώντας Linux
Τι να ξέρετε
- Για σύγκριση, εκτελέστε: diff file1 file2
- Δείξτε πώς διαφέρουν με: diff -q αρχείο1 αρχείο2
- Δείξτε πώς είναι ίδια με: diff -s file1 file2
Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε το Linux για να συγκρίνετε δύο αρχεία και να εξάγετε τις διαφορές μεταξύ των αρχείων στην οθόνη ή σε ένα αρχείο. Δεν θα εγκαταστήσετε ειδικό λογισμικό για να συγκρίνετε αρχεία χρησιμοποιώντας Linux, αλλά πρέπει να ξέρετε πώς να το κάνετε ανοίξτε ένα παράθυρο τερματικού.
Δημιουργήστε τα αρχεία για σύγκριση
Εάν θέλετε να ακολουθήσετε αυτόν τον οδηγό, δημιουργήστε δύο αρχεία κειμένου που περιέχουν παρόμοιο αλλά διαφορετικό κείμενο.
Δημιουργήστε το Πρώτο Αρχείο
Δημιουργήστε ένα αρχείο που ονομάζεται αρχείο 1 και μετά εισάγετε το ακόλουθο κείμενο:
10 πράσινα μπουκάλια στέκονται σε έναν τοίχο
10 πράσινα μπουκάλια στέκονται σε έναν τοίχο
Εάν ένα πράσινο μπουκάλι πέσει κατά λάθος
Στον τοίχο θα στέκονταν 9 πράσινα μπουκάλια
Για να δημιουργήσετε αυτό το αρχείο, ακολουθήστε αυτές τις οδηγίες:
-
Ανοίξτε το αρχείο πληκτρολογώντας την ακόλουθη εντολή:
nano αρχείο 1
Ο πιο γρήγορος τρόπος για να ανοίξετε ένα παράθυρο τερματικού στο Linux είναι να πατήσετε το CTRL+ALT+T κλειδιά ταυτόχρονα.
-
Πληκτρολογήστε το κείμενο ο επεξεργαστής nano.
Τύπος CTRL+O για να αποθηκεύσετε το αρχείο.
Τύπος CTRL+X για έξοδο από το αρχείο.
Δημιουργήστε το Δεύτερο Αρχείο
Στη συνέχεια, δημιουργήστε ένα άλλο αρχείο που ονομάζεται αρχείο 2 και εισάγετε το ακόλουθο κείμενο:
10 πράσινα μπουκάλια στέκονται σε έναν τοίχο
Εάν πέσει κατά λάθος 1 πράσινο μπουκάλι
Στον τοίχο θα στέκονταν 9 πράσινα μπουκάλια
Για να δημιουργήσετε αυτό το αρχείο, ακολουθήστε αυτές τις οδηγίες:
-
Ανοίξτε το αρχείο πληκτρολογώντας την ακόλουθη εντολή:
nano αρχείο 2
-
Πληκτρολογήστε το κείμενο στον nano editor.
Τύπος CTRL+O για να αποθηκεύσετε το αρχείο.
Τύπος CTRL+X για έξοδο από το αρχείο.
Πώς να συγκρίνετε δύο αρχεία χρησιμοποιώντας Linux
Η εντολή που χρησιμοποιείται στο Linux για να δείξει τις διαφορές μεταξύ δύο αρχείων ονομάζεται εντολή diff.
Η απλούστερη μορφή της εντολής diff είναι η εξής:
diff file1 file2
Εάν τα αρχεία είναι ίδια, δεν εμφανίζεται καμία έξοδος όταν χρησιμοποιείτε αυτήν την εντολή. Ωστόσο, καθώς υπάρχουν διαφορές, η έξοδος είναι παρόμοια με την ακόλουθη:
2,4c2,3
< 10 πράσινα μπουκάλια στέκονται στον τοίχο
< Εάν ένα πράσινο μπουκάλι πέσει κατά λάθος
< Στον τοίχο θα στέκονταν 9 πράσινα μπουκάλια
...
> Εάν πέσει κατά λάθος 1 πράσινο μπουκάλι
> Θα υπήρχαν 9 πράσινα μπουκάλια στον τοίχο
Αρχικά, η έξοδος φαίνεται μπερδεμένη, αλλά μόλις κατανοήσετε την ορολογία, είναι αρκετά λογικό.

Οι διαφορές μεταξύ των δύο αρχείων είναι οι εξής:
- Το δεύτερο αρχείο έχει μόνο τρεις γραμμές. Το πρώτο αρχείο έχει τέσσερα.
- Το δεύτερο αρχείο λέει 1 πράσινο μπουκάλι στην τρίτη γραμμή. Το πρώτο αρχείο λέει ένα πράσινο μπουκάλι.
- Το δεύτερο αρχείο λέει το κόκκινο αντί θα μπορούσε στην τελική γραμμή.
Η έξοδος από την εντολή diff δείχνει ότι ανάμεσα στις γραμμές δύο και τέσσερις του πρώτου αρχείου και τις γραμμές δύο και τρεις του δεύτερου αρχείου, υπάρχουν διαφορές.
Στη συνέχεια, παραθέτει τις γραμμές από δύο έως τέσσερις από το πρώτο αρχείο, ακολουθούμενες από τις δύο διαφορετικές γραμμές στο δεύτερο αρχείο.
Πώς να εμφανίζεται μόνο εάν τα αρχεία είναι διαφορετικά
Εάν θέλετε μόνο να μάθετε εάν τα αρχεία είναι διαφορετικά και δεν σας ενδιαφέρει ποιες γραμμές είναι διαφορετικές, εκτελέστε την ακόλουθη εντολή:
diff -q αρχείο1 αρχείο2
Εάν τα αρχεία είναι διαφορετικά, εμφανίζονται τα ακόλουθα:
Τα αρχεία file1 και file2 διαφέρουν
Εάν τα αρχεία είναι ίδια, δεν εμφανίζεται τίποτα.
Πώς να εμφανίσετε ένα μήνυμα εάν τα αρχεία είναι ίδια
Όταν εκτελείτε μια εντολή, ίσως θέλετε να γνωρίζετε ότι λειτούργησε σωστά. Θέλετε να εμφανίζεται ένα μήνυμα όταν εκτελείτε την εντολή diff είτε τα αρχεία είναι ίδια είτε διαφορετικά.
Για να επιτύχετε αυτήν την απαίτηση χρησιμοποιώντας την εντολή diff, χρησιμοποιήστε την ακόλουθη εντολή:
diff -s file1 file2
Εάν τα αρχεία είναι ίδια, εμφανίζεται αυτό το μήνυμα:
Τα αρχεία file1 και file2 είναι πανομοιότυπα
Πώς να δημιουργήσετε τις διαφορές δίπλα δίπλα
Εάν υπάρχουν πολλές διαφορές, μπορεί να προκαλέσει σύγχυση ως προς το ποιες είναι στην πραγματικότητα οι διαφορές μεταξύ των δύο αρχείων. Μπορείτε να αλλάξετε την έξοδο της εντολής diff έτσι ώστε τα αποτελέσματα να εμφανίζονται δίπλα-δίπλα. Για να το κάνετε αυτό, εκτελέστε την ακόλουθη εντολή:
diff -y file1 file2
Η έξοδος για το αρχείο χρησιμοποιεί το | σύμβολο για να δείξει τη διαφορά μεταξύ των δύο γραμμών, α < για να εμφανίσετε μια γραμμή που έχει αφαιρεθεί και α > για να εμφανίσετε μια γραμμή που έχει προσαρτηθεί.

Όταν εκτελείτε την εντολή χρησιμοποιώντας τα αρχεία επίδειξης σε αυτό το άρθρο, όλες οι γραμμές εμφανίζονται ως διαφορετικές εκτός από την τελευταία γραμμή του αρχείο 2, το οποίο εμφανίζεται ως διαγραμμένο.
Περιορισμός πλάτους στήλης
Όταν συγκρίνετε δύο αρχεία δίπλα-δίπλα, μπορεί να είναι δύσκολο να διαβαστεί εάν τα αρχεία έχουν πολλές στήλες κειμένου. Για να περιορίσετε τον αριθμό των στηλών, χρησιμοποιήστε την ακόλουθη εντολή:
diff --width=5 file1 file2
Πώς να αγνοήσετε τις διαφορές κεφαλαίων κατά τη σύγκριση αρχείων
Εάν θέλετε να συγκρίνετε δύο αρχεία, αλλά δεν σας ενδιαφέρει αν η περίπτωση των γραμμάτων είναι ίδια μεταξύ των δύο αρχείων, χρησιμοποιήστε την ακόλουθη εντολή:
diff -i file1 file2
Πώς να αγνοήσετε το λευκό κενό στο τέλος μιας γραμμής
Εάν παρατηρήσετε πολλές διαφορές κατά τη σύγκριση αρχείων και οι διαφορές προκαλούνται από το λευκό διάστημα στο τέλος των γραμμών, αποτρέψτε την εμφάνιση τους ως αλλαγές εκτελώντας την ακόλουθη εντολή:
diff -Z file1 file2
Πώς να αγνοήσετε όλες τις διαφορές λευκού χώρου μεταξύ δύο αρχείων
Εάν σας ενδιαφέρει μόνο το κείμενο σε ένα αρχείο και δεν σας ενδιαφέρει αν υπάρχουν περισσότερα κενά στο ένα από το άλλο, χρησιμοποιήστε την ακόλουθη εντολή:
diff -w file1 file2
Πώς να αγνοήσετε κενές γραμμές κατά τη σύγκριση δύο αρχείων
Εάν δεν σας ενδιαφέρει ότι ένα αρχείο μπορεί να έχει επιπλέον κενές γραμμές, συγκρίνετε τα αρχεία χρησιμοποιώντας την ακόλουθη εντολή:
diff -B file1 file2
Περίληψη
Μπορείτε να βρείτε περισσότερες πληροφορίες διαβάζοντας το εγχειρίδιο για την εντολή diff.
άνθρωπος διαφορ
Η εντολή diff μπορεί να χρησιμοποιηθεί στην απλούστερη μορφή της για να δείξει μόνο τις διαφορές μεταξύ δύο αρχείων. Μπορείτε επίσης να το χρησιμοποιήσετε για να δημιουργήσετε ένα αρχείο διαφορών ως μέρος του α στρατηγική επιδιόρθωσης.
Μια άλλη εντολή που μπορείτε να χρησιμοποιήσετε για να συγκρίνετε αρχεία είναι την εντολή cmp. Αυτό συγκρίνει τα αρχεία byte προς byte.