Από τον Rubaiat Hossain
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ

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

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

Παράδειγμα αρχείου για επίδειξη

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

γάτα <> δοκιμαστικό αρχείο
Αυτό είναι ένα απλό αρχείο κειμένου που περιέχει
πολλαπλές χορδές, καθώς και ορισμένους αριθμούς τηλεφώνου
(555) 555-1234 (567) 666-2345
και email και διευθύνσεις ιστού
[email protected]
https://google.com
ftp://mywebserver.com
ΤΕΛΟΣ

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

Για να αναζητήσετε μοτίβο κειμένου σε ένα αρχείο, απλώς εκτελέστε το grep ακολουθούμενο από το όνομα του μοτίβου. Επίσης, καθορίστε το όνομα του αρχείου που περιέχει το κείμενο.

grep "email" δοκιμαστικό αρχείο

Αυτή η εντολή θα εμφανίσει τη γραμμή στο δοκιμαστικό αρχείο που περιέχει τη λέξη ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ. Μπορείτε επίσης να αναζητήσετε το ίδιο κείμενο σε πολλά αρχεία χρησιμοποιώντας grep.

grep "παράδειγμα" / usr / share / dict / american-english / usr / share / dict / british-english

Η παραπάνω εντολή εμφανίζει όλες τις εμφανίσεις της λέξης παράδειγμα στο ΑΜΕΡΙΚΑΝΙΚΑ αγγλικα και βρετανικά αγγλικά αρχεία λεξικού.

2. Βρείτε λέξεις ακριβούς αντιστοίχισης

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

grep -w "string" δοκιμαστικό αρχείο

ο ή - λέξη-regexp Η επιλογή του grep περιορίζει την έξοδο μόνο σε ακριβείς αντιστοιχίες. Το Grep αποτελείται από μερικές επιπλέον σημαίες που μπορούν να χρησιμοποιηθούν και με την προεπιλεγμένη εντολή.

Σχετιζομαι με: Πώς ο Grep πήρε το όνομά του; Η ιστορία πίσω από τη δημιουργία του Grep

3. Αγνοήστε τις διακρίσεις περίπτωσης

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

grep -i "αυτό" δοκιμαστικό αρχείο

Χρησιμοποιήστε το -Εγώ ή - περίπτωση θανάτου επιλογή για απενεργοποίηση της ευαισθησίας της θήκης.

4. Μετρήστε τον αριθμό των μοτίβων

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

Μπορείτε να κάνετε σωλήνες την εντολή ps με grep για να μετρήσει τις διαδικασίες που ανήκουν στον τρέχοντα χρήστη.

ps -ef | grep -c $ ΧΡΗΣΤΗΣ

Η ακόλουθη εντολή εμφανίζει τον αριθμό του MP3 αρχεία που υπάρχουν σε έναν κατάλογο.

ls ~ / Μουσική | grep -c .mp3

5. Εμφάνιση αριθμών γραμμής που περιέχουν αγώνες

Ίσως θέλετε να βρείτε τους αριθμούς γραμμής που περιέχουν μια συγκεκριμένη αντιστοίχιση. Χρησιμοποιήστε το ή --αριθμός σειράς επιλογή του grep για να το επιτύχετε αυτό.

cat / etc / passwd | grep -n rubaiat

Αυτή η επιλογή είναι ιδιαίτερα χρήσιμη για εντοπισμός σφαλμάτων πηγαίων κωδικών και αρχεία καταγραφής αντιμετώπισης προβλημάτων. Για να εμφανίσετε όλους τους αριθμούς για γραμμές στο ~ / .vimrc που χρησιμοποιούνται για διαμόρφωση του προγράμματος επεξεργασίας κειμένου Vim:

grep -n "set" ~ / .vimrc

6. Βρείτε ονόματα αρχείων χρησιμοποιώντας επεκτάσεις

Για να λάβετε μια λίστα με όλα τα MP3 αρχεία που υπάρχουν στο ~ / Μουσική Ευρετήριο:

ls ~ / Μουσική / | grep ".mp3"

Μπορείτε να αντικαταστήσετε .mp3 με οποιεσδήποτε άλλες επεκτάσεις για τον εντοπισμό συγκεκριμένων αρχείων. Η ακόλουθη εντολή παραθέτει όλα τα php αρχεία που υπάρχουν στον τρέχοντα κατάλογο εργασίας.

είναι | grep ".php"

7. Βρείτε μοτίβα σε συμπιεσμένα αρχεία

Η εντολή Linux grep μπορεί επίσης να βρει μοτίβα μέσα σε συμπιεσμένα αρχεία. Θα πρέπει να χρησιμοποιήσετε το zgrep εντολή για αυτό, ωστόσο. Αρχικά, δημιουργήστε ένα συμπιεσμένο αρχείο του δοκιμαστικό αρχείο πληκτρολογώντας:

gzip δοκιμαστικό αρχείο

Τώρα, μπορείτε να αναζητήσετε κείμενο ή άλλα μοτίβα μέσα στο αρχείο που προκύπτει.

zgrep email test-file.gz

8. Βρείτε διευθύνσεις email

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

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \} "δοκιμαστικό αρχείο

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

9. Βρείτε αριθμούς τηλεφώνου χρησιμοποιώντας Grep

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

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} δοκιμαστικό αρχείο

Η προαναφερθείσα εντολή φιλτράρει δέκα ψηφία αμερικανικούς αριθμούς τηλεφώνου.

10. Βρείτε διευθύνσεις URL από αρχεία προέλευσης

Μπορούμε να αξιοποιήσουμε τη δύναμη του grep για την καταχώριση διευθύνσεων URL που βρίσκονται σε αρχεία κειμένου. Η παρακάτω εντολή εκτυπώνει όλες τις διευθύνσεις URL που υπάρχουν στο δοκιμαστικό αρχείο.

grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "δοκιμαστικό αρχείο

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

egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" δοκιμή -αρχείο

Εξασφαλίζοντας την εντολή Linux Grep

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

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

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
7 τρόποι λήψης βοήθειας γραμμής εντολών στο Linux

Όλες οι βασικές εντολές για την εκμάθηση των εντολών Linux από τη γραμμή εντολών

Διαβάστε Επόμενο

Σχετικά θέματα
  • Linux
  • Linux
  • Εντολές Linux
Σχετικά με τον Συγγραφέα
Rubaiat Hossain (Δημοσιεύθηκαν 15 άρθρα)

Το Rubaiat είναι πτυχιούχος CS με έντονο πάθος για ανοιχτό κώδικα. Εκτός από τον βετεράνο της Unix, ασχολείται επίσης με την ασφάλεια του δικτύου, την κρυπτογραφία και τον λειτουργικό προγραμματισμό. Είναι άπληστος συλλέκτης μεταχειρισμένων βιβλίων και έχει έναν ατελείωτο θαυμασμό για το κλασικό ροκ.

Περισσότερα από τον Rubaiat Hossain

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

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

Ένα ακόμη βήμα…!

Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.

.