Αφαίρεση διπλότυπων γραμμών και ταξινόμηση λίστας με τον σωστό τρόπο
Για να αφαιρέσετε διπλότυπες γραμμές, διαγράψτε κάθε γραμμή που επαναλαμβάνει μια προηγούμενη. Πρώτα όμως αποφασίστε αν το «ίδιο» σημαίνει απολύτως πανομοιότυπο ή πανομοιότυπο αφού καθαριστεί το κείμενο. Η αφαίρεση μόνο των πανομοιότυπων είναι ασφαλής, αλλά χάνει τα περισσότερα πραγματικά διπλότυπα. Το κόψιμο των κενών και η αγνόηση των κεφαλαίων και πεζών εντοπίζουν πολλά περισσότερα, και αυτό χρειάζονται συνήθως οι λίστες με email, λέξεις-κλειδιά ή κωδικούς προϊόντων.
Αφαίρεση διπλότυπων γραμμώνΗ λίστα έχει διπλότυπαΚάντε το δωρεάνΈνα παράδειγμα βήμα βήμα
Ακολουθεί μια λίστα με έξι διευθύνσεις email, αντιγραμμένες από ένα λογιστικό φύλλο:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Συμβαίνουν τρία πράγματα. Η πρώτη και η τελευταία γραμμή είναι ακριβώς ίδιες. Η δεύτερη διαφέρει μόνο στο κεφαλαίο A. Η τρίτη έχει ένα κενό στο τέλος που δεν φαίνεται. Ακολουθούν τα αποτελέσματα για κάθε κανόνα:
| Κανόνας | Γραμμές που μένουν | Γιατί |
|---|---|---|
| Αφαίρεση πανομοιότυπων διπλότυπων | 5 | Μόνο η τελευταία γραμμή «anna» ταιριάζει ακριβώς με την πρώτη |
| Κόψιμο κενών και αγνόηση κεφαλαίων και πεζών | 3 | Οι anna, ben και cara είναι οι μόνες μοναδικές διευθύνσεις |
Στην πράξη, οι διευθύνσεις email σχεδόν πάντα δεν διακρίνουν κεφαλαία από πεζά, οπότε ο δεύτερος κανόνας είναι αυτός που θέλετε εδώ. Αν η λίστα προέρχεται από μια ακατάστατη σελίδα, χρησιμοποιήστε πρώτα την εξαγωγή email και συνδέσμων, ώστε στο βήμα των διπλότυπων να φτάνουν μόνο πραγματικές διευθύνσεις.
Σχεδόν διπλότυπα που αξίζει να προσέξετε
Τα σχεδόν διπλότυπα είναι γραμμές που για τον υπολογιστή φαίνονται διαφορετικές, ενώ για εσάς σημαίνουν το ίδιο πράγμα. Συνηθισμένες αιτίες είναι:
- Κεφαλαία και πεζά γράμματα: «Blue Widget» και «blue widget».
- Κενά στην αρχή ή στο τέλος, που συχνά δεν φαίνονται σε έναν επεξεργαστή.
- Μη θραυόμενα κενά ή άλλοι κρυφοί χαρακτήρες, που μοιάζουν με συνηθισμένα κενά (κρυφοί χαρακτήρες εξηγεί τι είναι).
- Διαφορετική στίξη: «e-mail» και «email».
- Πληθυντικοί τύποι, που απαιτούν ανθρώπινη απόφαση και ένα εργαλείο δεν πρέπει να τους συγχωνεύει.
Καθαρίστε τη λίστα με αυτή τη σειρά: πρώτα κόψτε τα κενά, μετά αγνοήστε τα κεφαλαία και πεζά όπου δεν έχουν σημασία, και τέλος αφαιρέστε τα διπλότυπα. Κρατήστε ένα αντίγραφο της αρχικής λίστας και συγκρίνετε τις δύο λίστες για να ελέγξετε τι αφαιρέθηκε.
Τα κεφαλαία μπορεί να έχουν σημασία
Η αγνόηση των κεφαλαίων και πεζών δεν είναι πάντα ασφαλής. Οι κωδικοί προϊόντων, τα ονόματα αρχείων στο Linux και ορισμένοι αναγνωριστικοί κωδικοί διακρίνουν τα κεφαλαία από τα πεζά, οπότε τα «AB-101» και «ab-101» μπορεί να είναι δύο διαφορετικά είδη. Πριν συγχωνεύσετε στοιχεία που διαφέρουν μόνο στα κεφαλαία, ελέγξτε αν το σύστημα στο οποίο θα μπει η λίστα τα θεωρεί το ίδιο.
Αλφαβητική ταξινόμηση έναντι φυσικής ταξινόμησης
Η ταξινόμηση λίστας με στοιχεία που περιέχουν αριθμούς συχνά δίνει μη αναμενόμενη σειρά. Η απλή αλφαβητική ταξινόμηση συγκρίνει τους χαρακτήρες έναν έναν, οπότε το «item10» μπαίνει πριν από το «item2», επειδή ο χαρακτήρας 1 έρχεται πριν από το 2.
Εδώ είναι η διαφορά για τρία στοιχεία:
- Αλφαβητική: item1, item10, item2
- Φυσική: item1, item2, item10
Η φυσική ταξινόμηση συγκρίνει τους αριθμούς ως αριθμούς, οπότε το 2 μπαίνει πριν από το 10. Η εξήγηση γιατί το 10 μπαίνει πριν από το 2 είναι πιο αναλυτική. Χρησιμοποιήστε τη φυσική ταξινόμηση για ονόματα αρχείων, κωδικούς ραφιών, αριθμούς εκδόσεων και για ό,τι τελειώνει σε αριθμό. Χρησιμοποιήστε την απλή αλφαβητική ταξινόμηση για ονόματα και λέξεις, όπου είναι αυτό που περιμένουν οι άνθρωποι. Για να συγκρίνετε και τις δύο σειρές στη δική σας λίστα, επικολλήστε τη στην ταξινόμηση γραμμών και εναλλάξτε ανάμεσα στο Α→Ω και στους Αριθμούς.
Δύο ακόμη σημεία βοηθούν:
- Η ταξινόμηση δεν αφαιρεί διπλότυπα. Αφαιρέστε τα πρώτα και ταξινομήστε μετά, διαφορετικά η ταξινόμηση θα βάλει τα διπλότυπα το ένα δίπλα στο άλλο, πράγμα που τα κάνει ευκολότερα ορατά αλλά δεν τα αφαιρεί.
- Κρατήστε την αρχική σειρά αν η λίστα έχει νόημα. Μια λίστα βημάτων ή μια κατάταξη δεν πρέπει να ταξινομείται καθόλου.
Διατήρηση της πρώτης εμφάνισης
Όταν αφαιρείτε διπλότυπα, τα περισσότερα εργαλεία κρατούν την πρώτη εμφάνιση κάθε γραμμής και διαγράφουν τις επόμενες. Αυτό έχει σημασία όταν οι γραμμές περιέχουν επιπλέον πληροφορίες, όπως όνομα και ημερομηνία. Αν το πρώτο αντίγραφο είναι το παρωχημένο, ταξινομήστε πρώτα τη λίστα κατά ημερομηνία ή ελέγξτε τα διπλότυπα με το χέρι πριν τα αφαιρέσετε.
Ελέγξτε το αποτέλεσμα
Μετρήστε τις γραμμές πριν και μετά. Στο παράδειγμα με τα email, οι έξι γραμμές έγιναν τρεις μοναδικές διευθύνσεις, άρα αφαιρέθηκαν τρεις γραμμές. Αν ο αριθμός είναι μικρότερος από όσο περιμένατε, κοιτάξτε τις αφαιρεμένες γραμμές. Η αφαίρεση διπλότυπων ταιριάζει ολόκληρη τη γραμμή, οπότε δύο διαφορετικά άτομα με το ίδιο όνομα σε μια λίστα με εγγραφές, ή δύο προϊόντα με τον ίδιο τίτλο αλλά διαφορετικούς κωδικούς, μπορεί να φαίνονται πανομοιότυπα όταν κοπούν οι κωδικοί. Αφαιρείτε διπλότυπα με βάση το πεδίο που ορίζει ένα στοιχείο, όχι με βάση ένα πεδίο που απλώς το περιγράφει.
Πώς το κάνετε με το fixmint
- Επικολλήστε τη λίστα στο πεδίο Η λίστα σας, με ένα στοιχείο ανά γραμμή.
- Αφήστε επιλεγμένο το Αφαίρεση κενών, που είναι η προεπιλογή, και επιλέξτε Αγνόηση κεφαλαίων μόνο όπου τα κεφαλαία δεν έχουν σημασία.
- Επιλέξτε Διαγραφή κενών γραμμών για να αφαιρεθούν και οι κενές γραμμές.
- Επιλέξτε σειρά: Διατήρηση σειράς, Α→Ω ή Αριθμοί.
- Αντιγράψτε το αποτέλεσμα ή χρησιμοποιήστε το Λήψη .txt.
Ειδικές περιπτώσεις
- Κενές γραμμές. Αρκετές κενές γραμμές στη σειρά μπορεί να θεωρηθούν διπλότυπες. Αφαιρέστε τις ως ξεχωριστό βήμα αν θέλετε να κρατήσετε μία για διάστημα.
- Εγγραφές σε πολλές γραμμές. Η αφαίρεση διπλότυπων γίνεται γραμμή προς γραμμή. Αν κάθε εγγραφή εκτείνεται σε πολλές γραμμές, μπορεί να σπάσει μια εγγραφή και να αφήσει τα μέρη της σε λάθος σειρά.
- Πολύ μεγάλες λίστες. Τα μεγάλα αρχεία δεν αποτελούν πρόβλημα, αλλά συγκρίνετε τον αριθμό των γραμμών της εξόδου με αυτόν της εισόδου, ώστε να ξέρετε τι άλλαξε.
Γρήγορες απαντήσεις
Η αφαίρεση διπλότυπων γραμμών ταξινομεί και τη λίστα;
Όχι απαραίτητα. Πολλά εργαλεία κρατούν την αρχική σειρά, οπότε ταξινομήστε χωριστά αν χρειάζεστε συγκεκριμένη σειρά.
Γιατί το item10 μπαίνει πριν από το item2 όταν ταξινομώ;
Η απλή αλφαβητική ταξινόμηση συγκρίνει έναν χαρακτήρα τη φορά, και ο χαρακτήρας 1 έρχεται πριν από το 2. Χρησιμοποιήστε τη φυσική ταξινόμηση, που συγκρίνει τους αριθμούς ως αριθμούς.
Πρέπει να αγνοώ τα κεφαλαία όταν αφαιρώ διπλότυπα email;
Συνήθως ναι, επειδή οι διευθύνσεις email στην πράξη δεν διακρίνουν κεφαλαία από πεζά. Μην αγνοείτε τα κεφαλαία σε αναγνωριστικούς κωδικούς όπου η διαφορά αλλάζει το νόημα.
Μετάφραση από το Αγγλικό πρωτότυπο με τη βοήθεια τεχνητής νοημοσύνης.
Σχόλια
Δεν υπάρχουν σχόλια ακόμη. Γίνετε οι πρώτοι.


