Στο παρακάτω άρθρο θα δούμε μερικά εργαλεία γραμμής εντολών που χρησιμοποιούνται για την εύρεση αντιστοίχισης συμβολοσειρών ή μοτίβων σε αρχεία κειμένου. Αυτά τα εργαλεία χρησιμοποιούνται γενικά σε συνδυασμό με κανονικές εκφράσεις, που συντομεύονται ως REGEX, που είναι μοναδικές συμβολοσειρές για να περιγράψουν ένα μοτίβο αναζήτησης.
Οι κανονικές εκφράσεις είναι μοτίβα που χρησιμοποιούνται για την εύρεση ενός συγκεκριμένου συνδυασμού χαρακτήρων σε μια συμβολοσειρά κειμένου. Οι τακτικές εκφράσεις παρέχουν έναν πολύ ευέλικτο τρόπο αναζήτησης ή αναγνώρισης συμβολοσειρών κειμένου. Αν και στις ακόλουθες γραμμές δεν θα βλέπουμε κανονικές εκφράσεις, θα χρησιμοποιήσουμε μοτίβα ή συμβολοσειρές.
Αναζητήστε συμβολοσειρές ή μοτίβα από το τερματικό
Εντολή Grep
Το Grep είναι αρκτικόλεξο για Παγκόσμια τυπική εκτύπωση έκφρασης. Αυτό είναι ένα ισχυρό εργαλείο γραμμής εντολών που είναι χρήσιμο όταν αναζητάτε μια συγκεκριμένη συμβολοσειρά ή μοτίβο σε ένα αρχείο. Με grep θα είμαστε σε θέση να χρησιμοποιήσουμε ένα ευρύ φάσμα λειτουργιών, όπως αυτές που μας εξήγησε ένας συνάδελφος σε αυτό το ιστολόγιο πριν από λίγο.
Η σύνταξη για τη χρήση της εντολής grep είναι πολύ απλή:
grep PATRON [RUTA AL ARCHIVO]
Για παράδειγμα, για αναζήτηση της συμβολοσειράς 'Ubuntu"σε ένα αρχείο που σε αυτό το παράδειγμα θα καλέσουμε text.txt, χωρίς να λαμβάνουμε υπόψη τη διάκριση μεταξύ κεφαλαίων και πεζών, σε ένα τερματικό (Ctrl + Alt + T) θα πρέπει να εκτελέσουμε μόνο την εντολή:
grep -i Ubuntu texto.txt
Εντολή sed
Η δίψα είναι σύντομη Επεξεργαστής ροής. Είναι ένα άλλο χρήσιμο εργαλείο για το τερματικό με το οποίο μπορούμε να χειριστούμε κείμενο σε ένα αρχείο. Sed αναζητά, φιλτράρει και αντικαθιστά συμβολοσειρές σε ένα δεδομένο αρχείο.
Η εντολή sed εκτυπώνει από προεπιλογή την έξοδο STDOUT (Τυπική έξοδος). Αυτό σημαίνει ότι το αποτέλεσμα της εκτέλεσης εκτυπώνεται στο τερματικό αντί να αποθηκεύεται σε ένα αρχείο.
Η εντολή Sed μπορεί να χρησιμοποιηθεί ως εξής:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Για παράδειγμα, για την αντικατάσταση όλων των εμφανίσεων του 'Linux"σε κείμενο από"Linux", η εντολή που πρέπει να χρησιμοποιήσετε είναι η ακόλουθη:
sed 's/Linux/GnuLinux/g' texto.txt
Αν αυτό που ψάχνουμε είναι ανακατευθύνετε την έξοδο σε ένα αρχείο αντί να το εκτυπώσετε στο τερματικό, θα χρησιμοποιήσουμε το σύμβολο ανακατεύθυνσης ως εξής:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Η έξοδος της εντολής αποθηκεύεται στο αρχείο έξοδος.txt αντί να εκτυπωθεί στην οθόνη.
Για να δείτε περισσότερες επιλογές, μπορείτε συμβουλευτείτε τις ανθρώπινες σελίδες:
man sed
Ακ
Το Ack είναι ένα εργαλείο γρήγορης γραμμής εντολών γραμμένο στο Perl. Θεωρείται φιλικό υποκατάστατο του grep, το οποίο παράγει επίσης αποτελέσματα με έναν οπτικά ελκυστικό τρόπο.
να εγκαταστήστε το ack στο σύστημά μας θα πρέπει να εκτελέσουμε στο τερματικό (Ctrl + Alt + T):
sudo apt install ack
Η εντολή Η Ack αναζητά το αρχείο ή τον κατάλογο για τις γραμμές που περιέχουν την αντιστοίχιση για τα κριτήρια αναζήτησης. Στη συνέχεια, επισημάνετε την αντίστοιχη συμβολοσειρά. Αυτό το εργαλείο έχει τη δυνατότητα να διακρίνει τα αρχεία με βάση τις επεκτάσεις τους.
Η σύνταξη της εντολής Ack θα ήταν η ακόλουθη
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Για παράδειγμα, για αναζήτηση του όρου Linux σε ένα αρχείο, θα πρέπει να εκτελέσουμε:
ack Linux texto.txt
Το εργαλείο αναζήτησης είναι αρκετά έξυπνο και Εάν ο χρήστης δεν παρέχει αρχεία ή καταλόγους, αναζητά τον τρέχοντα κατάλογο και τους υποκαταλόγους για το μοτίβο αναζήτησης.
Στο ακόλουθο παράδειγμα, δεν παρέχεται αρχείο ή κατάλογος. Το Ack εντοπίζει αυτόματα το διαθέσιμο αρχείο στον κατάλογο και αναζητά το αντίστοιχο μοτίβο:
ack Linux
Ρίπγκρεπ
Ρίπγκρεπ είναι ένα βοηθητικό πρόγραμμα πολλαπλών πλατφορμών για αναζήτηση τυπικών μοτίβων έκφρασης. Είναι ταχύτερο από όλα τα εργαλεία αναζήτησης που αναφέρονται παραπάνω και αναζητά καταλόγους αναδρομικά για αντιστοίχιση μοτίβων. Σας επιτρέπει επίσης να αναζητήσετε συγκεκριμένους τύπους αρχείων. Από προεπιλογή, το ripgrep θα παραλείψει δυαδικά αρχεία και κρυφά αρχεία / καταλόγους.
να εγκαταστήστε το ripgrep στο σύστημα, πρέπει απλώς να εκτελέσετε την ακόλουθη εντολή στο τερματικό (Ctrl + Alt + T):
sudo apt install ripgrep
Η σύνταξη για τη χρήση του ripgrep είναι αρκετά απλή:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Αν θέλαμε να αναζητήσουμε την αλυσίδα »Linux"σε αρχεία που βρίσκονται στον τρέχοντα κατάλογο, θα πρέπει να εκτελέσουμε μόνο την εντολή:
rg Linux
Για να δείτε περισσότερες επιλογές, οι χρήστες μπορούν να χρησιμοποιήσουν ανθρώπινες σελίδες:
man rg
SilverSearcher
να εγκαταστήστε αυτό το εργαλείο, στο Ubuntu θα πρέπει να ανοίξουμε μόνο ένα τερματικό (Ctrl + Alt + T) και να γράψουμε την εντολή:
sudo apt install silversearcher-ag
Το Silver Searcher είναι ένα εργαλείο αναζήτησης ανοιχτής πηγής πολλαπλών πλατφορμών παρόμοιο με το ack αλλά με έμφαση στην ταχύτητα. Διευκολύνει την εύρεση μιας συγκεκριμένης συμβολοσειράς εντός αρχείων στο συντομότερο δυνατό χρόνο. Η σύνταξη που θα χρησιμοποιήσετε θα ήταν:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Για παράδειγμα, για αναζήτησηLinuxστο αρχείο text.txt, θα πρέπει να γράψουμε στο τερματικό (Ctrl + Alt + T):
ag Linux texto.txt
Για να δείτε περισσότερες επιλογές μπορούμε να συμβουλευτούμε το σελίδες man:
man ag
Αυτά είναι μόνο μερικά από τα πιο συχνά χρησιμοποιούμενα εργαλεία γραμμής εντολών για αναζήτηση, φιλτράρισμα και χειρισμό κειμένου στο Linux.