Το Linux έχει μια μεγάλη ποικιλία εργαλείων που οι περισσότεροι από εμάς αγνοούμε και αυτό οφείλεται ότι ως επί το πλείστον δεν είμαστε όλοι συνηθισμένοι να χρησιμοποιούμε το τερματικό και αυτό δεν είναι κακό μιας και δεν είναι υποχρεωτική απαίτηση, απλά προτιμάμε να χρησιμοποιούμε γραφικό περιβάλλον αφού διευκολύνει τη δουλειά μας.
Μια πολύ καθημερινή διαδικασία που πραγματοποιούμε σχεδόν καθημερινά είναι η αναζήτηση στο σύστημα και αυτό αντικατοπτρίζεται με την απλή χρήση της μηχανής αναζήτησης στον αγαπημένο μας διαχειριστή αρχείων κατά την αναζήτηση ενός εγγράφου, εικόνας, αρχείου κ.λπ. από το πλαίσιο αναζήτησης.
Αλλά μπορούμε επίσης να χρησιμοποιήσουμε το τερματικό για να το κάνουμε αυτό και για να πούμε την αλήθεια, αυτό το εργαλείο είναι πολύ πιο ισχυρό γνωρίζοντας πώς να το χρησιμοποιήσει.
Σε αυτό το μικρό τμήμα Θα μοιραστώ μαζί σας τη λειτουργία του "grep" με την οποία μπορούμε να αναζητήσουμε ένα συγκεκριμένο κείμενο ή μοτίβο σε ένα αρχείο ή σε έναν ολόκληρο κατάλογο. Η πιο συνηθισμένη χρήση είναι η γρήγορη αναζήτηση ενός αρχείου για εμφανίσεις ενός μοτίβου, το οποίο μπορεί να είναι σε απλό κείμενο ή με τη μορφή μιας κανονικής έκφρασης. Εδώ τα μοτίβα που χρησιμοποιούνται θα είναι απλό κείμενο αντί για κανονικές εκφράσεις.
Βασικά το grep αποτελείται ως εξής:
grep loquebuscas tipoarchivo
Όπου "αυτό που ψάχνετε" είναι το συγκεκριμένο μοτίβο που θέλετε να βρείτε, δεν ξέρω, ένα πρακτικό παράδειγμα είναι να αναζητήσετε μια γραμμή κειμένου που βρίσκεται μέσα σε ένα έγγραφο που δεν θυμάστε τι είναι και " ο τύπος αρχείου "είναι για φιλτράρισμα, λέτε στο grep ότι αναζητάτε μόνο τη συμβολοσειρά κειμένου που υποδεικνύετε σε έναν μόνο τύπο αρχείου και μην το κάνετε σε όλα τα υπάρχοντα.
Τώρα μπορούμε να εφαρμόσουμε μια σειρά παραμέτρων στην εντολή για να βελτιώσουμε την αναζήτησή μας, για παράδειγμα, για αναζήτηση για περισσότερα από ένα μοτίβα, απλά πρόκειται να δημιουργήσουμε ένα αρχείο κειμένου που περιέχει μια λίστα μοτίβων, ένα σε κάθε γραμμή, για να αναζητήσουμε ένα αρχείο ή κατάλογο και θα προσθέσουμε την παράμετρο -f για να φορτώσουμε το αρχείο που περιέχει τα μοτίβα.
grep -f ~ / archivoconpatrones.txt /
Σε αυτή την περίπτωση θα αναζητήσει όλα τα μοτίβα που περιγράφονται στο αρχείο και θα τα αναζητήσει σε όλο το σύστημα και στο τέλος θα μας δείξει τα αποτελέσματα.
Είναι σημαντικό να θυμάστε ότι η χρήση του grep σε ένα μεγάλο αρχείο, ή ακόμα και σε πολλά αρχεία, μπορεί να παράγει πολλά αποτελέσματα.
Ένα άλλο παράδειγμα χρήσης είναι εάν κάνουμε αναζήτηση ανά τύπο αρχείου, συνήθως συμβαίνει ότι δεν θυμόμαστε το όνομα του αρχείου που επιθυμούμε, αλλά γνωρίζουμε τι τύπο αρχείου είναι και σε ποια περιοχή d, για αυτό μπορούμε να εκτελέσουμε:
grep -l *.doc /carpeta/donde/lobuscas
Τώρα εάν θέλουμε να αναζητήσουμε μια συγκεκριμένη λέξη, αλλά θέλουμε να εξαιρέσουμε εκείνα τα αποτελέσματα που περιέχουν κάποια άλλη:
grep palabrabuscada tipodearchivo | grep -v palabraexcluida
Τώρα η συμβολοσειρά κειμένου μπορεί επίσης να αναμιχθεί με κεφαλαία και πεζά, επομένως η χρήση μιας τυπικής έκφρασης grep δεν θα επιστρέψει τα αναμενόμενα αποτελέσματα, Για αυτό πρέπει να προσθέσουμε μια παράμετρο ώστε να κάνει αναζήτηση ανεξάρτητα από αυτό:
grep -i palabra /donde/buscarla
Και καλό Εδώ αφήνω μερικές από τις πιο χρησιμοποιούμενες παραμέτρους στο grep.
-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.
-e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.
-r busca recursivamente dentro de todos los subdirectorios del directorio actual.
-v nos muestra las líneas que no coinciden con el patrón buscado.
-i ignora la distinción entre mayúsculas y minúsculas.
-n Numera las líneas en la salida.
-E nos permite usar expresiones regulares. Equivalente a usar egrep.
-o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.
-f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.
-H nos imprime el nombre del archivo con cada coincidencia
Υπάρχουν περισσότερες λειτουργίες στο grep από όσες καλύπτονται εδώ, οπότε αν σκοπεύετε να χρησιμοποιείτε το grep τακτικά, αφιερώστε χρόνο για να ερευνήσετε τι μπορεί να κάνει και πώς να το χρησιμοποιήσετε καλύτερα.