Το Grep είναι ένα μικρό πρόγραμμα Unix για την εύρεση αντίστοιχων μοτίβων. Ξεκίνησε ως πρόγραμμα Unix, μπορεί να βρεθεί στο Linux καθώς και στο Mac και το BSD. Μπορεί να διαβάσει σχεδόν οποιοδήποτε κείμενο, δηλαδή να μπορεί να διαβάζει εισροές από άλλες εντολές ή να ανοίγει και να αναζητά απευθείας τα αρχεία. Το Grep είναι απίστευτα χρήσιμο, ειδικά για την αναζήτηση μέσω καταλόγων από τη γραμμή εντολών.

Με αυτό, γιατί να μην δοκιμάσετε μία από τις πιο κοινές χρήσεις για το Grep, εύρεση ενός αρχείου σε έναν κατάλογο. Κοιτάξτε μέσα από το φάκελο "~ / Downloads" για οποιαδήποτε εικόνα "jpg".

 ls ~ / Λήψεις | grep .jpg 

Ο Grep θα τα κατατάξει σε όλα και θα τονίσει το τμήμα ".jpg", καθώς είναι αυτό που ψάξατε.

Μπορείτε να διοχετεύσετε την έξοδο (με την εντολή "|") σχεδόν οποιασδήποτε εντολής στο grep . Εάν έχετε ένα αρχείο απλού κειμένου γύρω από το, βγάλτε το και βάλτε το αποτέλεσμα στο Grep για να βρείτε μια συγκεκριμένη λέξη.

 cat file.txt | grep word 

Το Grep θα εκτυπώσει όλες τις γραμμές του αρχείου που περιέχουν τη λέξη που του είπατε να αναζητήσει.

Ξεχάστε την υπόθεση

Τα συστήματα που μοιάζουν με συστήματα Unix έχουν διάκριση πεζών-κεφαλαίων, πράγμα που σημαίνει ότι το "Ubuntu" είναι εντελώς διαφορετικό από το "ubuntu". Αυτό μπορεί να είναι πόνος όταν ψάχνετε κάτι. Ο Grep έχει μια σημαία για να εξαλείψει το πρόβλημα. Προσθέστε τη σημαία -i στην αναζήτησή σας και η Grep θα αγνοήσει την περίπτωση.

 ls ~ / Λήψεις | grep -i Ubuntu 

Αναζήτηση σε αρχείο

Δεν θα ήταν καθόλου βολικό να χρειαστείτε cat κάθε φορά που θα θέλατε να αναζητήσετε ένα αρχείο. Στην πραγματικότητα, δεν το κάνετε. Το Grep μπορεί να ψάξει μέσα από τα ίδια τα αρχεία. Περάστε τη διαδρομή προς το αρχείο και η Grep θα κάνει τα υπόλοιπα.

 grep -i λέξη / path / to / file.txt 

Αναδρομικές αναζητήσεις

Το Grep μπορεί να αναζητήσει ταυτόχρονα περισσότερα από ένα αρχεία ή καταλόγους. Προειδοποιήστε, αν ψάχνετε για ονόματα αρχείων, το Grep θα αναζητήσει και τα αρχεία από προεπιλογή. Η σημαία -r λέει στον Grep να ψάξει αναδρομικά.

 ls ~ / Λήψεις | grep -r .deb 

Μπορείτε να το συνδυάσετε και με άλλες σημαίες. Ίσως θελήσετε να συμπεριλάβετε τη σημαία -I όταν κάνετε αναδρομικές αναζητήσεις για να κρατήσετε το Grep να μην ψάχνει δυαδικά αρχεία.

 ls ~ / Λήψεις | grep -iIr .deb 

Βρείτε το αντίθετο

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

 grep -rv '192.168.1.110' / etc / nginx 

Λέξεις και Γραμμές

Μπορεί επίσης να είναι χρήσιμο να πείτε στο Grep να ψάξει για πλήρεις λέξεις ή γραμμές, αντί για κάτι που περιέχει ένα συγκεκριμένο μοτίβο. Φανταστείτε ότι αναζητάτε μια σειρά χαρακτήρων που είναι κοινές ως μέρος μιας λέξης, αλλά πρέπει να είναι ξεχωριστή. Για παράδειγμα, η λέξη "αυτό". Προφανώς, δεν θα υπήρχαν πολλές φορές που θα θέλατε πραγματικά να αναζητήσετε ένα μοτίβο όπως "αυτό", αλλά αποδεικνύει το σημείο.

 γάτα textfile.txt | grep -w it 

Αντί να εκτυπώνει κάθε λέξη που περιέχει το μοτίβο, η Grep θα εκτυπώνει μόνο τη λέξη από μόνη της. Κάνει το ίδιο πράγμα για ολόκληρες γραμμές με τη σημαία -x, οπότε αν ψάχνετε για μια φράση ή μια γραμμή σε ένα αρχείο ρυθμίσεων, αυτό μπορεί πραγματικά να βοηθήσει.

Αν ενδιαφέρεστε να διερευνήσετε όλα τα πράγματα που μπορεί να κάνει ο Grep, εκτελέστε τον man grep σε ένα τερματικό για την πλήρη τεκμηρίωση. Αυτό το άρθρο κάλυψε τα βασικά και όλα όσα θα χρειαστείτε κανονικά από αυτό το ισχυρό εργαλείο. Μοιραστείτε μαζί μας αν γνωρίζετε οποιεσδήποτε ισχυρές χρήσεις της εντολής Grep.

Πιστοποίηση εικόνας: Σημεία δέσμης ενεργειών Shell που παρουσιάζουν ενδιαφέρον σε συντεταγμένες