Много често при работа с големи фаилове, може да ви се налага, да изкарате не само определен string, но и редовете под, над или около него.
Синтакс:
$grep -A "string" filename
Пример:
$ grep -A 2 "FAJLA" file.txt
PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI
vtoriqt red vyv fajla e s malki bukvi
V Tozi Red Vsqka Duma Pochva S Glavna Bukva
Синтакс:
$grep -B "string" filename
Пример:
$ grep -B 5 "Posledniqt" file.txt
vtoriqt red vyv fajla e s malki bukvi
V Tozi Red Vsqka Duma Pochva S Glavna Bukva
Dvata reda nad tozi sa prazni
Posledniqt red
Синтакс:
$grep -C "string" filename
Пример:
$ grep -C 2 "vtoriqt" file.txt
PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI
vtoriqt red vyv fajla e s malki bukvi
V Tozi Red Vsqka Duma Pochva S Glavna Bukva
Ако искате, да претърсите всички фаилове в някоя директория, както и във всички нейни под-директории
използвате -r опцията на grep:
$grep -r "string" /path/to/dir
Командата ще претърси фаиловете в директория "dir", както и всички файлове в под-директориите на "dir"
Разбира се имате възможност, да претърсите даден файл за "string" и да извадите всеки ред, който НЕ съдържа определеният "string"
Синтаксис:
$grep -v "string" filename
Пример:
$ grep -v "red" file.txt
PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI
V Tozi Red Vsqka Duma Pochva S Glavna Bukva
(Командата показва дори двата празни реда)
С -e опцията можете да кажете на grep, да търси няколко strings
Синтаксис:
$grep -e "string" -e "string2" filename
Пример за нормално търсене:
$ grep -e "PYRVIQT" -e "vtoriqt" file.txt
PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI
vtoriqt red vyv fajla e s malki bukvi
Пример за обърнато търсене:
$ grep -v -e "PYRVIQT" -e "vtoriqt" file.txt
V Tozi Red Vsqka Duma Pochva S Glavna Bukva
Dvata reda nad tozi sa prazni
Posledniqt red