Πώς να χρησιμοποιήσετε το Grep αναδρομικά;

How Use Grep Recursively



Η εντολή Grep χρησιμοποιείται για αναζήτηση κειμένου από αρχεία. Είναι ένα ευέλικτο μοτίβο που επικαλείται grep με –r. –R επιλογή αναζήτησης αρχείων αναδρομικά από υποκαταλόγους, ξεκινώντας από τον τρέχοντα κατάλογο. Η εντολή εκτελείται από τον κατάλογο ανώτατου επιπέδου. Για παράδειγμα /home /abc κ.λπ. Το Grep είναι ένα εργαλείο για την απόκτηση εξαρτήσεων κατά τη μετακίνηση από τον ένα κεντρικό υπολογιστή στον άλλο. Εάν δεν αναφέρουμε έναν κατάλογο στην εντολή, το grep θα αναζητήσει τον τρέχοντα κατάλογο εργασίας. Για να εκτελέσετε το grep αναδρομικά, υπάρχουν τρία επιχειρήματα που έχουμε πάρει από τη σελίδα man του grep.

$Ανδραςλαβή







– Include χρησιμοποιείται για ακριβή αντιστοίχιση στο αρχείο που θα μπορούσε να είναι αρχεία που υπάρχουν στον κατάλογο ή από προεπιλογή. –R υποδηλώνει το όνομα του καταλόγου, όπως περιγράφηκε νωρίτερα, εάν δεν οριστεί διαδρομή στην εντολή, λαμβάνεται υπόψη ο τρέχων κατάλογος. Ακολουθεί μόνο έναν συμβολικό σύνδεσμο. Το –R διαφέρει αρκετά από το –r γιατί διαβάζει όλα τα αρχεία, όχι μόνο τα συμβολικά καθορισμένα.



Σύνταξη

Grip –R μοτίβο/μονοπάτι/

Η διαδρομή είναι μια διαδρομή καταλόγου. Και το μοτίβο είναι μια λέξη ή μια συμβολοσειρά που θέλετε να αναζητήσετε.



Προαπαιτούμενο

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





Όλα τα αρχεία στο Linux

Αυτή η εντολή θα σας βοηθήσει να αναζητήσετε όλα τα ονόματα αρχείων στους καταλόγους του συστήματός σας. Καθώς το –l λειτουργεί για την παροχή μόνο των ονομάτων αρχείων, το –r θα βοηθήσει να αναζητήσετε συμβολικά όπου και αν υπάρχει η απαιτούμενη λέξη. Ενώ η Aqsa είναι η λέξη που θέλουμε να αναζητήσουμε. Αυτή η εντολή δεν έχει καμία διαδρομή προς τον κατάλογο επειδή εδώ, θέλουμε όλα τα πιθανά ονόματα αρχείων στο σύστημα. Εάν έχουμε δώσει μια διαδρομή, τότε η διαδικασία αναζήτησης θα έχει περιορισμούς.

$λαβή–R –l aqsa



Απλό Παράδειγμα

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

$λαβή–R ευέλικτο/Σπίτι/aqsayasin

Αναδρομική αναζήτηση σε όλους τους καταλόγους και τους υποκαταλόγους

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

$λαβή–R σπίτι*

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

Grep Recursively for a String

Σε αντίθεση με τα παραπάνω παραδείγματα, το grep λειτουργεί σε μια συμβολοσειρά στον συγκεκριμένο κατάλογο. / etc/ είναι ο κατάλογος εντολών που σημαίνει ότι η αναζήτηση θα γίνει μέσω αυτού του καταλόγου, η διεύθυνση IP ενός υπολογιστή. Οι πληροφορίες του αποθηκεύονται στον κατάλογο, έχοντας ονόματα αρχείων που υπάρχουν στον κατάλογο/etc/ppp/. Η επιλογή είναι το όνομα ενός συγκεκριμένου φακέλου. Αυτή η εντολή θα διαβάσει όλα τα αρχεία στον συγκεκριμένο κατάλογο.

$λαβή–R 192.168.1.5/και τα λοιπά/

Τα ονόματα του αρχείου στην έξοδο μπορούν να κατασταλούν με τη βοήθεια της επιλογής –h. Η εντολή έχει ως εξής.

$λαβή '192.168.1.5' /και τα λοιπά/

Και οι δύο διαχωριστές μπορούν να γραφτούν σαν -h -R σε μια εντολή.

Αναζήτηση αναδρομικά χωρίς κατάλογο

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

$λαβή–R σύζυγος

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

Grep Exact Multiple Patterns

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

$λαβή-Rw '/Σπίτι/aqsayasin/'

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

Grep Recursively Using - -Include

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

$λαβή–R --περιλαμβάνω=*txt αδερφή/Σπίτι/aqsayasin

συμπέρασμα

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