Grep

Το grep (Global Regular Expression Print) (Καθολική Εκτύπωση Κανονικής Έκφρασης)  είναι ένα πρόγραμμα βοήθημα της γραμμής εντολών που αρχικά δημιουργήθηκε για το λειτουργικό σύστημα Unix. Όταν δοθεί ένας κατάλογος αρχείων ή τυπικής εισόδου προς είσοδο, το grep  αναζητά γραμμές κειμένου που ταιριάζουν σε μια ή περισσότερες  κανονικές εκφράσεις και δίνει σαν έξοδο μόνο τις γραμμές που ταιριάζουν.

Χρήση και λειτουργία
Το όνομα του προγράμματος προέρχεται από την εντολή που χρησιμοποιείται στον επεξεργαστή κειμένου του Unix ed προκειμένου να πετύχουμε μια παρόμοια λειτουργία.

  g/re/p

Αυτή η εντολή ψάχνει ένα αρχείο (g)lobally - καθολικά (δηλαδή το ψάχνει όλο) για γραμμές που ταιριάζουν σε μια δοσμένη (r)egular (e)xpression κανονική έκφραση, και (p)rints τις τυπώνει.

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

Ένα απλό παράδειγμα χρήσης του grep:

  grep apple fruitlist.txt

Το grep θα επέστρεφε σε αυτή την περίπτωση όλες τις γραμμές του αρχείου fruitlist.txt που θα περιείχαν τουλάχιστον μια εμφάνιση της λέξης 'apple'. Δεν θα επέστρεφε σαν έξοδο γραμμές που περιέχουν τη λέξη  'Apple' (κεφαλαίο A) γιατι η προκαθορισμένη λειτουργία του είναι ευαίσθητη στα κεφαλαία-μικρά της γραμματοσειράς. Όμως, όπως οι περισσότερες εντολές του Unix, μπορεί να δεχθεί σημαίες που μπορουν να αλλάξουν αυτή τη λειτουργία. π.χ.

  grep -i apple fruitlist.txt

Αυτή η εντολή θα επέστρεφε γραμμές με τις λέξεις 'apple', 'Apple', 'apPLE', ή οποιαδήποτε άλλη πιθανή ανάμιξη κεφαλαίων και μικρών.

Η επιλογή -e μπορεί να χρησομοποιηθεί για να δηλώσουμε πολλαπλές κανονικές εκφράσεις για προς ταίριασμα. Επίσης, η επιλογή -v χρησιμοποιείται για να αντιστρέψουμε το ταίριασμα και έτσι να αποκλείσουμε τις γραμμές κειμένου που ταιριάζουν με την κανονική έκφραση.

Παραλλαγές
Υπάρχουν πολλές παραλλαγές του grep, π.χ. agrep approximate grep (προσεγγιστικό grep) που διευκολύνει την θολή αναζήτηση συμβολοσειρών, το  fgrep για fixed (σταθερά) πρότυπα αναζήτησης, και egrep  για αναζητήσεις που περιλαμβάνουν κανονικές εκφράσεις με περισσότερο πολύπλοκο συντακτικό. Τα fgrep και egrep είναι συνήθως το ίδιο πρόγραμμα grep, το οποίο μπορεί να συμπεριφερθεί σαν αυτά ανάλογα με το όνομα με το οποίο θα κληθεί.

Δείτε επίσης
 Boyer – Moore αλγόριθμος αναζήτησης συμβολοσειρών
 Κατάλογος βοηθημάτων του Unix

Κατηγορία:Λογισμικό Unix