Πώς να βρείτε κείμενο σε αρχεία στο Linux

How Find Text Files Linux



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

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







Εύρεση κειμένου σε αρχεία

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



Για αυτοματοποιημένη αναζήτηση, θα χρησιμοποιήσουμε grep. Το Grep έρχεται προεγκατεστημένο σε οποιαδήποτε διανομή Linux. Όσον αφορά τη μη αυτόματη αναζήτηση, κάθε σύγχρονος επεξεργαστής κειμένου θα κάνει τη δουλειά.



Βρείτε κείμενο σε αρχεία χρησιμοποιώντας grep

Στο Linux, το grep είναι το προεπιλεγμένο εργαλείο για την αναζήτηση κειμένων. Το όνομά του προέρχεται από την εντολή ed g/re/p που σημαίνει παγκόσμια αναζήτηση κανονικής έκφρασης και εκτύπωση γραμμών που ταιριάζουν. Είναι διαθέσιμο σε οποιαδήποτε σύγχρονη διανομή Linux.





Το Grep είναι ένα εργαλείο γραμμής εντολών. Η δομή εντολών του έχει ως εξής.

$λαβή <επιλογή>> <κοινή έκφραση>> <διαδρομή αρχείου>>

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



Για λόγους επίδειξης, αρπάξτε ένα δείγμα αρχείου κειμένου. Σε αυτό το παράδειγμα, κατεβάστε το Αρχείο κειμένου GNU General Public License v3.0 Το

Βασική αναζήτηση

Ο βασικός τρόπος χρήσης του grep είναι η αναζήτηση μιας βασικής συμβολοσειράς.

Ρίξτε μια ματιά στην ακόλουθη εντολή grep. Θα αναζητήσει τη λέξη GNU στο αρχείο κειμένου.

$λαβή 'ΑΝΤΙΛΟΠΗΣ ΤΗΣ ΑΦΡΙΚΗΣ'lpg-3.0.κείμενο

Για να εμφανίσετε τον αριθμό γραμμής, χρησιμοποιήστε τη σημαία -n.

$λαβή GNU gpl-3.0.κείμενο

Για να πραγματοποιήσετε αναζήτηση χωρίς διάκριση πεζών -κεφαλαίων χρησιμοποιώντας grep, χρησιμοποιήστε τη σημαία -i.

$λαβή -νίgnu gpl-3.0.κείμενο

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

$λαβή -οαντιλόπης της Αφρικής*

Μπορούμε επίσης να διοχετεύσουμε την έξοδο άλλων εντολών στο grep.

$Γάταlpg-3.0.κείμενο| λαβή ΑΝΤΙΛΟΠΗΣ ΤΗΣ ΑΦΡΙΚΗΣ

Κοινή έκφραση

Το Regex προσφέρει έναν έξυπνο τρόπο βελτιστοποίησης της αναζήτησης. Έχει τους δικούς του κανόνες. Ωστόσο, διαφορετικές εφαρμογές και γλώσσες προγραμματισμού υλοποιούν με διαφορετικό τρόπο την κανονική έκφραση. Ακολουθούν μερικά παραδείγματα που μπορείτε να χρησιμοποιήσετε με το grep.

Για να ορίσετε ότι η συμβολοσειρά βρίσκεται στην αρχή μιας γραμμής, χρησιμοποιήστε το σύμβολο caret (^).

$λαβή ^ GNU gpl-3.0.κείμενο

Για να ορίσετε ότι η συμβολοσειρά βρίσκεται στο τέλος μιας γραμμής, χρησιμοποιήστε το σύμβολο του δολαρίου ($).

$λαβή σε $ gpl-3.0.κείμενο

Για να περιγράψετε ότι μπορεί να υπάρχει οποιοσδήποτε χαρακτήρας σε μια συγκεκριμένη θέση του μοτίβου, χρησιμοποιήστε τον χαρακτήρα περιόδου (.). Για παράδειγμα, η έκφραση G.U είναι έγκυρη εάν υπάρχει κάποιος χαρακτήρας μεταξύ G και U.

$λαβή G.U gpl-3.0.κείμενο

Για να περιγράψετε ότι μπορεί να υπάρχει ένα υποσύνολο χαρακτήρων σε μια συγκεκριμένη θέση του μοτίβου, χρησιμοποιήστε τις αγκύλες ([]). Για παράδειγμα, η έκφραση t [wo] o λέει ότι η αντιστοίχιση ισχύει για δύο και μόνο πολύ.

$λαβή τ[Οπου]o gpl-3.0.κείμενο

Εκτεταμένη κανονική έκφραση

Όπως υποδηλώνει το όνομα, μια εκτεταμένη κανονική έκφραση μπορεί να κάνει πιο πολύπλοκα πράγματα από τις βασικές κανονικές εκφράσεις. Για να χρησιμοποιήσετε εκτεταμένη κανονική έκφραση με grep, πρέπει να χρησιμοποιήσετε τη σημαία -E.

$λαβή -γεννημένος <εκτεταμένο_regex>> <αρχείο>>

Για να αναζητήσετε δύο διαφορετικές συμβολοσειρές, χρησιμοποιήστε τους τελεστές OR (|).

$λαβή -γεννημένοςΑΝΤΙΛΟΠΗΣ ΤΗΣ ΑΦΡΙΚΗΣ|γενικός|Άδεια gpl-3.0.κείμενο

Εύρεση κειμένου σε αρχεία

Τώρα έρχεται το κύριο μέρος. Αντί να πείτε χειροκίνητα στο grep το αρχείο να εκτελέσει την αναζήτηση, το grep μπορεί να το κάνει αυτόματα. Στην ακόλουθη εντολή, το grep θα χρησιμοποιήσει όλα τα διαθέσιμα αρχεία κειμένου στον τρέχοντα κατάλογο για την αναζήτηση του μοτίβου.

$λαβή <ρεγεξ>> *

Εάν θέλετε να κάνετε grep για να πραγματοποιήσετε την αναζήτηση σε διαφορετικό κατάλογο, τότε πρέπει να καθορίσετε τη θέση.

$λαβή <ρεγεξ>> <directory_path>>

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

$λαβή -nR <ρεγεξ>> <directory_path>>

Grip GUI

Εάν προτιμάτε να εργάζεστε με GUI, αλλά εξακολουθείτε να θέλετε να απολαμβάνετε τις δυνατότητες του grep, ελέγξτε το searchmonkey. Είναι μια λύση για το grep. Το πακέτο είναι διαθέσιμο σε όλες σχεδόν τις μεγάλες διανομές Linux.

Βρείτε κείμενο σε αρχεία χρησιμοποιώντας το nano

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

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

Ανοίξτε το αρχείο κειμένου σε nano.

$νανο <διαδρομή αρχείου>>

Για αναζήτηση αντιστοίχισης συμβολοσειράς, πατήστε Ctrl + W. Αφού πληκτρολογήσετε τη συμβολοσειρά για αναζήτηση, πατήστε Enter.

Βρείτε κείμενο σε αρχεία χρησιμοποιώντας το Vim

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

Παρόμοια με το nano, το Vim λειτουργεί με ένα μόνο αρχείο κάθε φορά. Εάν έχετε πολλά αρχεία κειμένου, τότε η χρήση του grep είναι ο πιο βέλτιστος τρόπος.

Για αναζήτηση σε ένα αρχείο κειμένου, πρώτα, ανοίξτε το στο Vim.

$ήρθα <διαδρομή αρχείου>>

Εισαγάγετε την ακόλουθη εντολή Vim και πατήστε Enter.

$:/<όρος αναζήτησης>>

Βρείτε κείμενο σε αρχεία χρησιμοποιώντας το GNOME Text Editor

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

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

Ανοίξτε το αρχείο κειμένου στο Text Editor. Πατήστε Ctrl + F για να εμφανιστεί η γραμμή αναζήτησης.

Βρείτε κείμενο σε αρχεία χρησιμοποιώντας τον κώδικα VS

Το Visual Studio Code είναι ένας ισχυρός επεξεργαστής κειμένου με πολλές δυνατότητες. Είναι βελτιστοποιημένο για προγραμματιστές για χρήση σαν να είναι ένα πλήρες IDE. Είναι διαθέσιμο σε όλες σχεδόν τις μεγάλες διανομές Linux.

Εγκαταστήστε το συμπληρωματικό πακέτο Visual Studio Code.

$sudoθραύσηεγκαθιστώκώδικας--κλασσικός

Ανοίξτε το αρχείο κειμένου στο VS Code. Πατήστε Ctrl + F για να ξεκινήσετε την αναζήτηση.

Τελικές σκέψεις

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

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

Καλή πληροφορική!