GREP

Βρίσκει ένα αλφαριθμητικό μέσα σ' ένα κείμενο.

grep string file1

Επιστρέφει τις γραμμές στις οποίες εμφανίζεται το string όχι απαραίτητα ως ολόκληρη λέξη.

ΠΑΡΑΔΕΙΓΜΑ

Line (του file1)--> Congratulations! You have just discovered the secret message

String--> cover

Αποτέλεσμα--> Η γραμμή επιστρέφεται.

grep -l string file1 file2

Επιστρέφει τα ονόματα των αρχείων στα οποία υπάρχει το string.

grep -n string file1

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

ΠΑΡΑΔΕΙΓΜΑ

grep -n Takata file1 file2

FILE1
Binst
Dickerson
Eisner
Green
Hrarii
Janatha
Lewis
Takata
Wozni
FILE2
Eisner
Frost
Green
Takata
Wozni
ΑΠΟΤΕΛΕΣΜΑ

file1:8:Takata file2:4:Takata
grep -c string file1

Επιστρέφει το πλήθος των γραμμών του file1, στις οποίες εμφανίζεται το string.

ΠΑΡΑΔΕΙΓΜΑ

grep -c Takata file1 file2

ΑΠΟΤΕΛΕΣΜΑ

file1:1
file2:1

grep -b string file1

Επιστρέφει το μπλοκ κάθε γραμμής του file1, στην οποία εμφανίζεται το string.

ΠΑΡΑΔΕΙΓΜΑ

grep -b Takata file1 file2

ΑΠΟΤΕΛΕΣΜΑ

file1:0:Takata
file2:0:Takata

grep -i string file1

Κάνει την κλασσική αναζήτηση αγνοώντας όμως κεφαλαία και πεζά.

ΠΑΡΑΔΕΙΓΜΑ

Line (του file1)--> Congratulations! You have just discovered the secret message

String--> CONGRAtuLatiOns

Αποτέλεσμα--> Η γραμμή επιστρέφεται.

grep -v string file1

Εμφανίζει όλες τις γραμμές του file1 στις οποίες δεν υπάρχει το string.

ΠΑΡΑΔΕΙΓΜΑ

Line (του file1)--> Congratulations! You have just discovered the secret message

String--> Congratulations

Αποτέλεσμα--> Η γραμμή δεν επιστρέφεται.

Παραδείγματα με regular expressions

grep gh file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες περιέχουν το "gh"

grep '^con' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες αρχίζουν με con

grep 'ing$' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες τελειώνουν σε ing

grep '[A-Z]' file1

Επιστρέφει όλες τις γραμμές του file1 στις οποίες υπάρχει ένας τουλάχιστο κεφαλαίος λατινικός χαρακτήρας.

grep '^[A-Z]' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες αρχίζουν με κεφαλαίο λατινικό χαρακτήρα.

grep '[A-Z]$' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες τελειώνουν σε κεφαλαίο λατινικό χαρακτήρα.

grep '^[A-Z]*$' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες έχουν όλους τους χαρακτήρες τους κεφαλαίους λατινικούς.

grep '[aeiouAEIOU]' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες περιέχουν ένα τουλάχιστο λατινικό φωνήεν.

grep '^[aeiouAEIOU]' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες ξεκινούν με λατινικό φωνήεν.

grep '[aeiouAEIOU]$' file1

Επιστρέφει όλες τις γραμμές του file1 οι οποίες τελειώνουν σε λατινικό φωνήεν.

grep -i '[aeiou]' file1

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

grep -i '^[aeiou]' file1

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

grep -i '[aeiou]$' file1

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

grep -i '^[^aeiou]' file1

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

grep -i '[^aeiou]$' file1

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

grep -i '[aeiou].*[aeiou]' file1

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

grep -i '^[^aeiou]*[aeiou][^aeiou]*$' file1

Επιστρέφει όλες τις γραμμές που έχουν ένα ακριβώς φωνήεν κεφαλαίο ή πεζό.



Επιστροφή