Πώς να συγκρίνετε δύο αρχεία κειμένου χρησιμοποιώντας Linux

Αυτός ο οδηγός θα σας δείξει πώς να χρησιμοποιήσετε το Linux για να συγκρίνετε δύο αρχεία και να εξάγετε τη διαφορά τους στην οθόνη ή σε ένα αρχείο.

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

Όπως δείχνει ο συνδεδεμένος οδηγός, υπάρχουν πολλοί τρόποι για να ανοίξετε ένα παράθυρο τερματικού χρησιμοποιώντας το Linux. Το πιο απλό είναι να πατήσετε ταυτόχρονα τα πλήκτρα CTRL, ALT και T.

Δημιουργία των αρχείων για σύγκριση

Για να ακολουθήσετε μαζί με αυτόν τον οδηγό ένα αρχείο που ονομάζεται "file1" και εισάγετε το ακόλουθο κείμενο:

10 πράσινα μπουκάλια που στέκονται σε έναν τοίχο

10 πράσινα μπουκάλια που στέκονται σε έναν τοίχο

Εάν μια πράσινη φιάλη πέσει κατά λάθος

Θα υπάρχουν 9 πράσινες φιάλες που θα στέκονται στον τοίχο

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

  1. Ανοίξτε το αρχείο πληκτρολογώντας την ακόλουθη εντολή: nano file1
  2. Πληκτρολογήστε το κείμενο στον επεξεργαστή νανο
  3. Πατήστε CTRL και O για να αποθηκεύσετε το αρχείο
  4. Πατήστε CTRL και X για έξοδο από το αρχείο

Τώρα δημιουργήστε ένα άλλο αρχείο που ονομάζεται "αρχείο2" και πληκτρολογήστε το ακόλουθο κείμενο:

10 πράσινα μπουκάλια που στέκονται σε έναν τοίχο

Εάν 1 πράσινη φιάλη θα πέσει κατά λάθος

Θα έμεναν 9 πράσινες φιάλες στον τοίχο

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

  1. Ανοίξτε το αρχείο πληκτρολογώντας την ακόλουθη εντολή: nano αρχείο2
  2. Πληκτρολογήστε το κείμενο στον επεξεργαστή νανο
  3. Πατήστε CTRL και O για να αποθηκεύσετε το αρχείο
  4. Πατήστε CTRL και X για έξοδο από το αρχείο

Πώς να συγκρίνετε δύο αρχεία χρησιμοποιώντας Linux

Η εντολή που χρησιμοποιείται στο Linux για την εμφάνιση των διαφορών μεταξύ 2 αρχείων ονομάζεται εντολή diff.

Η απλούστερη μορφή της εντολής diff έχει ως εξής:

diff file1 file2

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

2,4c2,3

<10 πράσινες φιάλες που στέκονται στον τοίχο

<Εάν ένα πράσινο μπουκάλι θα πέσει κατά λάθος

<Θα υπάρχουν 9 πράσινες φιάλες που στέκονται στον τοίχο

...

> Εάν 1 πράσινη φιάλη πέσει κατά λάθος

> Θα υπάρχουν 9 πράσινα μπουκάλια που στέκονται στον τοίχο

Αρχικά, η παραγωγή μπορεί να φαίνεται συγκεχυμένη, αλλά μόλις καταλάβετε την ορολογία είναι αρκετά λογική.

Χρησιμοποιώντας τα μάτια σας μπορείτε να δείτε ότι οι διαφορές μεταξύ των δύο αρχείων είναι οι εξής:

Η έξοδος από την εντολή diff δείχνει ότι μεταξύ των γραμμών 2 και 4 του πρώτου αρχείου και των γραμμών 2 και 3 του δεύτερου αρχείου υπάρχουν διαφορές.

Στη συνέχεια απαριθμεί τις γραμμές από 2 έως 4 από το πρώτο αρχείο που ακολουθούνται από τις 2 διαφορετικές γραμμές στο δεύτερο αρχείο.

Πώς να δείτε απλά εάν τα αρχεία είναι διαφορετικά

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

diff -q αρχείο1 αρχείο2

Εάν τα αρχεία είναι διαφορετικά, θα εμφανιστούν τα εξής:

Τα αρχεία1 και 2 διαφέρουν

Αν τα αρχεία είναι τα ίδια τότε δεν εμφανίζεται τίποτα.

Πώς να εμφανίσετε ένα μήνυμα Εάν τα αρχεία είναι τα ίδια

Όταν εκτελείτε μια εντολή που θέλετε να γνωρίζετε ότι έχει λειτουργήσει σωστά, θέλετε να εμφανιστεί ένα μήνυμα όταν εκτελείτε την εντολή diff ανεξάρτητα από το αν τα αρχεία είναι ίδια ή διαφορετικά

Προκειμένου να επιτευχθεί αυτή η απαίτηση χρησιμοποιώντας την εντολή diff, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή :.

diff -s αρχείο1 αρχείο2

Τώρα, εάν τα αρχεία είναι τα ίδια, θα λάβετε το ακόλουθο μήνυμα:

Τα αρχεία1 και 2 είναι πανομοιότυπα

Πώς να δημιουργήσετε τις διαφορές δίπλα δίπλα

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

Μπορείτε να αλλάξετε την έξοδο της εντολής diff έτσι ώστε τα αποτελέσματα να εμφανίζονται δίπλα-δίπλα. Για να το κάνετε αυτό εκτελέστε την ακόλουθη εντολή:

diff -y αρχείο1 αρχείο2

Η έξοδος για το αρχείο χρησιμοποιεί το | για να εμφανίσετε μια διαφορά μεταξύ των δύο γραμμών, ένα <για να εμφανιστεί μια γραμμή που έχει αφαιρεθεί και ένα> για να εμφανιστεί μια γραμμή που έχει προστεθεί.

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

Περιορισμός των Πλάτων της Στήλης

Κατά τη σύγκριση δύο αρχείων πλάι-πλάι μπορεί να είναι δύσκολο να διαβάσετε αν τα αρχεία έχουν πολλές στήλες κειμένου.

Για να περιορίσετε έναν αριθμό στηλών, χρησιμοποιήστε την ακόλουθη εντολή:

diff - width = 5 αρχείο2

Πώς να αγνοήσετε τις διαφορές των περιπτώσεων κατά τη σύγκριση αρχείων

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

diff -i file1 file2

Πώς να αγνοήσετε τον τελικό λευκό χώρο στο τέλος μιας γραμμής

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

diff -Z αρχείο1 αρχείο2

Πώς να αγνοήσετε όλες τις διαφορές λευκού χώρου μεταξύ δύο αρχείων

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

diff -w file1 file2

Πώς να αγνοήσετε τις κενές γραμμές κατά τη σύγκριση δύο αρχείων

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

diff -B αρχείο1 αρχείο2

Περίληψη

Μπορείτε να βρείτε περισσότερες πληροφορίες διαβάζοντας το εγχειρίδιο για την εντολή diff.

άνθρωπος διαφορά

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

Μια άλλη εντολή που μπορείτε να χρησιμοποιήσετε για να συγκρίνετε τα αρχεία είναι η εντολή cmp όπως φαίνεται από αυτόν τον οδηγό . Αυτό συγκρίνει τα byte αρχείων με byte.