Πώς να ταξινομήσετε αρχεία κειμένου στο Linux χρησιμοποιώντας την εντολή ταξινόμησης

Πώς να ταξινομήσετε αρχεία κειμένου στο Linux χρησιμοποιώντας την εντολή ταξινόμησης

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





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





Τι είναι η εντολή ταξινόμησης;

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





Άλλες λειτουργίες της εντολής περιλαμβάνουν την αγνοία περιπτώσεων χαρακτήρων κατά την ταξινόμηση, την ταξινόμηση ενός αρχείου ανά μήνα, την παράβλεψη των κενών σε ένα αρχείο και την τυχαία ταξινόμηση. Χρησιμοποιώντας ταξινόμηση, μπορείτε επίσης να ελέγξετε εάν ένα αρχείο είναι ήδη ταξινομημένο ή όχι.

Πώς να χρησιμοποιήσετε την ταξινόμηση στο Linux

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



Βασική σύνταξη

Η βασική σύνταξη της χρήσης ταξινόμησης είναι:

sort filename

...όπου όνομα αρχείου είναι η απόλυτη ή σχετική διαδρομή του αρχείου κειμένου που θέλετε να ταξινομήσετε.





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

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

Εξετάστε ένα αρχείο κειμένου με όνομα textfile.txt που περιέχει τις ακόλουθες πληροφορίες:





Για να ταξινομήσετε το αρχείο χρησιμοποιώντας την προεπιλεγμένη διαμόρφωση:

sort textfile.txt

Παραγωγή:

Δημιουργήστε ένα νέο αρχείο εξόδου

Η εντολή ταξινόμησης δεν τροποποιεί το περιεχόμενο του αρχείου. Απλώς στέλνει το ταξινομημένο περιεχόμενο στην τυπική έξοδο. Ωστόσο, αυτό δεν σημαίνει ότι η ταξινόμηση δεν μπορεί να δημιουργήσει ένα νέο αρχείο. Μπορείτε να χρησιμοποιήσετε το σημαία για να καθορίσετε το όνομα του ταξινομημένου αρχείου και η ταξινόμηση θα δημιουργήσει αυτόματα το αρχείο για εσάς και θα προσθέσει το περιεχόμενο.

πώς να χαλάσετε τη διεύθυνση IP σας
sort -o sortedfile filename

...όπου ταξινομημένο αρχείο είναι το όνομα του αρχείου εξόδου και όνομα αρχείου είναι το αρχικό αρχείο που χρειάζεται ταξινόμηση.

Για να ταξινομήσετε textfile.txt και δημιουργήστε ένα νέο αρχείο εξόδου για το περιεχόμενο:

sort -o sorted.txt textfile.txt

Παραγωγή:

Ταξινόμηση πολλαπλών αρχείων

Για να ταξινομήσετε περισσότερα από ένα αρχεία ταυτόχρονα, απλώς περάστε τα ονόματα αρχείων χωρισμένα με το Χώρος χαρακτήρας.

sort textfile.txt textfile2.txt

Παραγωγή:

Σημειώστε ότι η ταξινόμηση θα συγχωνεύσει την έξοδο των αρχείων και θα τα εμφανίσει μαζί στο τερματικό.

Αντίστροφη Ταξινόμηση αρχείου

Εάν θέλετε να αντιστρέψετε τη διάταξη του περιεχομένου, χρησιμοποιήστε το -r σημαία με την προεπιλεγμένη εντολή. ο -r στην ακόλουθη εντολή σημαίνει ΑΝΤΙΣΤΡΟΦΗ Το

sort -r textfile.txt

Παραγωγή:

Ταξινόμηση ενός αρχείου αριθμητικά

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

sort -n numbers.txt

Παραγωγή:

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

sort -rn numbers.txt

Παραγωγή:

Αγνοήστε την περίπτωση χαρακτήρων κατά τη ταξινόμηση

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

Αν θέλετε να ταξινομήσετε την παράβλεψη χαρακτήρων, καθορίστε το -φά ή το -μεγάλη περίπτωση σημαία ως εξής:

sort -f textfile.txt
sort --ignore-case textfile.txt

Παραγωγή:

Ταξινόμηση αρχείου με βάση τον μήνα

Χρησιμοποιώντας το σημαία, μπορείτε να τροποποιήσετε τη σειρά του περιεχομένου ενός αρχείου με βάση τα ονόματα των μηνών.

sort -M textfile2.txt

Παραγωγή:

Αγνοήστε τα κύρια κενά

Μερικές φορές, το αρχείο που θέλετε να ταξινομήσετε μπορεί να περιέχει κενά ή καρτέλες. Για να αγνοήσετε τέτοιους κενούς χαρακτήρες, χρησιμοποιήστε το -σι σημαία.

sort -b fileblanks.txt

Παραγωγή:

Ταξινόμηση αρχείου σύμφωνα με στήλη

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

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

πόσο ram χρειάζεται ένα τηλέφωνο
sort -k8 -rn output.txt

Παραγωγή:

Ταξινόμηση σωλήνων με άλλες εντολές

Μπορείτε ακόμη να χρησιμοποιήσετε ταξινόμηση με άλλες εντολές Linux για να τροποποιήσετε τη διάταξη της εξόδου. Για παράδειγμα, για να ταξινομήσετε την έξοδο του η εντολή ls ανάλογα με το μέγεθος των αρχείων:

ls -la | sort -k5 -rn

Παραγωγή:

Ταξινόμηση ενός αρχείου τυχαία

Μπορείτε να χρησιμοποιήσετε το σημαία εάν θέλετε να τυχαιοποιήσετε τη σειρά των γραμμών σε ένα αρχείο κειμένου. Εξετάστε το αρχείο textfile.txt :

sort -R textfile.txt

Παραγωγή:

Ταξινόμηση αριθμών έκδοσης σε ένα αρχείο

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

γιατί δεν λειτουργεί η προσωπική μου ώρα
sort -V version.txt
sort --version-sort version.txt

Παραγωγή:

Ελέγξτε εάν ένα αρχείο είναι ταξινομημένο

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

Για να ελέγξετε αν το αρχείο textfile.txt ταξινομείται:

sort -c textfile.txt

Τώρα, ας ταξινομήσουμε το αρχείο και να αποθηκεύσουμε την έξοδο του σε ένα νέο αρχείο με όνομα ταξινομημένο.txt Το Κατά την έκδοση της ακόλουθης εντολής:

sort -c sorted.txt

Παραγωγή:

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

sort -c -rn numbers.txt

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

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Παραγωγή:

Ταξινόμηση του αρχείου και κατάργηση διπλότυπων

Το αρχείο με το οποίο εργάζεστε μπορεί να περιέχει διπλότυπα δεδομένα. Αν και μπορείτε να χρησιμοποιήσετε η εντολή uniq για να αφαιρέσετε τέτοιες πληροφορίες από το αρχείο, η ταξινόμηση μπορεί να εκτελέσει αυτήν την εργασία για εσάς. ο -u ή --μοναδικός σημαία είναι αυτό που χρειάζεστε.

Εξετάστε ένα αρχείο με όνομα διπλότυπο.txt :

Για να ταξινομήσετε το αρχείο και να αφαιρέσετε τα επαναλαμβανόμενα δεδομένα:

sort -u duplicate.txt

Παραγωγή:

Μπορείτε να το δείτε όταν χρησιμοποιείτε το -u σημαία, ταξινόμηση εμφανίζει μόνο ξεχωριστές γραμμές και τις τακτοποιεί σύμφωνα με τα καθορισμένα κριτήρια.

Εργασία με αρχεία κειμένου στο Linux

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

Ο καλύτερος τρόπος για να ξεκινήσετε με τη γραμμή εντολών και γενικά το Linux είναι να εξασκήσετε πρώτα τις βασικές εντολές. Μετά την κάλυψη των βασικών βοηθητικών προγραμμάτων, η σταδιακή πρόοδος προς πιο σύνθετες εντολές είναι ίσως η καλύτερη προσέγγιση.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Το εξαπατημένο φύλλο αναφοράς εντολών Linux

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

Διαβάστε Επόμενο
Σχετικά θέματα
  • Linux
  • Διαχείριση αρχείων
  • Linux
  • Εντολές Linux
Σχετικά με τον Συγγραφέα Deepesh Sharma(79 άρθρα δημοσιεύθηκαν)

Ο Deepesh είναι ο Junior Editor για Linux στο MUO. Γράφει ενημερωτικούς οδηγούς στο Linux, με στόχο να προσφέρει μια ευχάριστη εμπειρία σε όλους τους νεοεισερχόμενους. Δεν είμαι σίγουρος για τις ταινίες, αλλά αν θέλετε να μιλήσετε για την τεχνολογία, είναι ο τύπος σας. Στον ελεύθερο χρόνο του, μπορείτε να τον βρείτε να διαβάζει βιβλία, να ακούει διαφορετικά είδη μουσικής ή να παίζει κιθάρα.

Περισσότερα από Deepesh Sharma

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή
Κατηγορία Linux