Εμφάνιση γραμμών πριν και μετά τον αγώνα μέσω Grep

Show Lines Before After Match Via Grep



Το Grep έχει χρησιμοποιηθεί ευρέως σε συστήματα Linux όταν εργάζεστε σε ορισμένα αρχεία, αναζητάτε κάποιο συγκεκριμένο μοτίβο και πολλά άλλα. Αυτή τη φορά, χρησιμοποιούμε την εντολή grep για να εμφανίσουμε τις γραμμές πριν και μετά τη αντιστοιχισμένη λέξη -κλειδί που χρησιμοποιείται σε κάποιο συγκεκριμένο αρχείο. Για το σκοπό αυτό, θα χρησιμοποιήσουμε τη σημαία -A, -B και, -C σε ολόκληρο τον οδηγό μας. Έτσι, πρέπει να εκτελέσετε κάθε βήμα για καλύτερη κατανόηση. Βεβαιωθείτε ότι έχετε εγκαταστήσει το σύστημα Linux Ubuntu 20.04.

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







ls



Παράδειγμα 01: Χρήση «-A» και «-B»

Από τα παραπάνω αρχεία κειμένου, θα ρίξουμε μια ματιά σε μερικά από αυτά και θα προσπαθήσουμε να εφαρμόσουμε την εντολή grep σε αυτά. Ας ανοίξουμε το αρχείο κειμένου one.txt χρησιμοποιώντας πρώτα τη δημοφιλή εντολή cat ως κάτω:



$Γάταone.txt





Θα δούμε πρώτα κάποιες συγκεκριμένες λέξεις που ταιριάζουν σε αυτό το αρχείο κειμένου χρησιμοποιώντας την εντολή grep όπως παρακάτω. Weάχνουμε για τη λέξη εμείς στο αρχείο κειμένου one.txt χρησιμοποιώντας grep instruction. Η έξοδος δείχνει δύο γραμμές από το αρχείο κειμένου που έχουμε εμείς σε αυτές.

$λαβήεμείς one.txt



Έτσι, σε αυτό το παράδειγμα, θα εμφανίζουμε τις γραμμές πριν και μετά τη συγκεκριμένη αντιστοίχιση λέξεων σε ορισμένα αρχεία κειμένου. Χρησιμοποιώντας λοιπόν το ίδιο αρχείο κειμένου one.txt ταιριάζουμε τη λέξη εμείς ενώ εμφανίζουμε τις 3 γραμμές πριν από αυτήν όπως παρακάτω. Η σημαία -B σημαίνει Πριν. Η έξοδος εμφανίζει μόνο 2 γραμμές πριν από τη συγκεκριμένη γραμμή λέξεων, επειδή το αρχείο δεν έχει περισσότερες γραμμές πριν από τη γραμμή μιας συγκεκριμένης λέξης. Δείχνει επίσης αυτές τις γραμμές που περιέχουν τη συγκεκριμένη λέξη.

$λαβή-ΣΙ3εμείς one.txt

Ας χρησιμοποιήσουμε την ίδια λέξη -κλειδί που έχουμε από αυτό το αρχείο για να εμφανίσουμε τις 3 γραμμές μετά τη γραμμή που έχουν τη λέξη εμείς. Η σημαία -Α παρουσιάζει Μετά. Η έξοδος εμφανίζει ξανά μόνο 2 γραμμές επειδή δεν έχει περισσότερες γραμμές στο αρχείο.

$λαβή-ΠΡΟΣ ΤΟ3εμείς one.txt

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

$λαβή-ΠΡΟΣ ΤΟ3μπορεί one.txt

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

$λαβή-ΣΙ3μπορεί one.txt

Παράδειγμα 02: Χρήση «-A» και «-B»

Ας πάρουμε ένα άλλο αρχείο κειμένου, two.txt, από τον αρχικό κατάλογο και εμφανίζουμε τα περιεχόμενά του χρησιμοποιώντας την παρακάτω εντολή cat.

$Γάταtwo.txt

Ας εμφανίσουμε 5 γραμμές πριν από τη λέξη Most από το αρχείο two.txt χρησιμοποιώντας την εντολή grep. Η έξοδος εμφανίζει 5 γραμμές πριν η γραμμή περιέχει μια συγκεκριμένη λέξη.

$λαβή-ΣΙ5Τα περισσότερα δύο.txt

Η εντολή grep για να εμφανίσει τις 5 γραμμές μετά τη λέξη Most από το αρχείο κειμένου two.txt έχει δοθεί παρακάτω.

$λαβή-ΠΡΟΣ ΤΟ5Τα περισσότερα δύο.txt

Ας αλλάξουμε τη λέξη -κλειδί προς αναζήτηση. Αυτή τη φορά θα χρησιμοποιήσουμε ως λέξη -κλειδί για αντιστοίχιση. Εμφανίστε τις 2 γραμμές πριν από τη λέξη του από το αρχείο κειμένου two.txt μπορεί να γίνει χρησιμοποιώντας την παρακάτω εντολή grep. Η έξοδος εμφανίζει δύο γραμμές για τη λέξη -κλειδί επειδή εμφανίζεται δύο φορές στο αρχείο. Έτσι η έξοδος περιέχει περισσότερες από 2 γραμμές.

$λαβή-ΣΙ2του two.txt

Τώρα η εμφάνιση των 2 γραμμών του αρχείου two.txt αφού η γραμμή που περιέχει τη λέξη -κλειδί του μπορεί να γίνει χρησιμοποιώντας την παρακάτω εντολή. Η έξοδος εμφανίζει ξανά περισσότερες από 2 γραμμές.

$λαβή-ΠΡΟΣ ΤΟ2του two.txt

Παράδειγμα 03: Χρήση ‘-C’

Μια άλλη σημαία, -C έχει χρησιμοποιηθεί για την εμφάνιση των γραμμών πριν και μετά την αντιστοιχισμένη λέξη. Ας εμφανίσουμε τα περιεχόμενα του αρχείου one.txt χρησιμοποιώντας την εντολή cat.

$Γάταone.txt

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

$λαβή-ΝΤΟ2κοινωνία one.txt

Ας δούμε τα περιεχόμενα του αρχείου two.txt χρησιμοποιώντας την παρακάτω εντολή cat.

$Γάταtwo.txt

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

$λαβή-ΝΤΟ2ποιήματα δύο.txt

Ας χρησιμοποιήσουμε μια ακόμη λέξη -κλειδί από το αρχείο two.txt για αντιστοίχιση. Αυτή τη φορά καταναλώνουμε τη φύση ως λέξη -κλειδί. Επομένως, δοκιμάστε την παρακάτω εντολή ενώ χρησιμοποιείτε -C ως σημαία που έχει τη φύση λέξης -κλειδιού από το αρχείο two.txt. Αυτή τη φορά, η έξοδος έχει περισσότερες από δύο γραμμές στην έξοδο. Καθώς το αρχείο περιέχει τη λέξη φύση περισσότερες από μία φορές, αυτός είναι ο λόγος πίσω από αυτό. Η λέξη -κλειδί φύση, που έρχεται πρώτη, έχει δύο γραμμές πριν και δύο γραμμές μετά από αυτήν. Ενώ η δεύτερη αντιστοιχούσε στην ίδια λέξη -κλειδί, η φύση έχει δύο γραμμές πριν από αυτήν, αλλά δεν υπάρχουν γραμμές μετά από αυτήν επειδή βρίσκεται στην τελευταία γραμμή του αρχείου.

$λαβή-ΝΤΟ2ποιήματα δύο.txt

συμπέρασμα

Είμαστε επιτυχημένοι στην εμφάνιση των γραμμών πριν και μετά τη συγκεκριμένη λέξη, ενώ χρησιμοποιούμε την εντολή grep.